🎮 Все игры 🐱 Ловкий кот
1 2 3 4 5 6
Урок 1

Кот-корзинка ездит

Что ты увидишь Оранжевый прямоугольник внизу экрана — пока это «кот». Он ездит влево-вправо, пока держишь стрелку. Файл: step1_basket.py
⬇️ Скачать код урока

📝 Весь код урока

import pygame, sys

WIDTH, HEIGHT = 600, 400
BG = (30, 30, 46)
ORANGE = (244, 162, 97)

pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Ловкий кот")
clock = pygame.time.Clock()

# Пока кот — это просто оранжевый прямоугольник
cat_w, cat_h = 88, 74
cat_x = WIDTH // 2 - cat_w // 2     # по центру
cat_y = HEIGHT - cat_h - 10         # внизу

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # Зажатые клавиши: пока держишь — кот едет
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        cat_x -= 7
    if keys[pygame.K_RIGHT]:
        cat_x += 7

    # Не выпускаем кота за края экрана
    cat_x = max(0, min(cat_x, WIDTH - cat_w))

    screen.fill(BG)
    pygame.draw.rect(screen, ORANGE, (cat_x, cat_y, cat_w, cat_h))
    pygame.display.flip()
    clock.tick(60)

🔍 Что тут нового по сравнению со Змейкой

Движение в пикселях, а не по клеткам

В Змейке всё прыгало по клеткам. Здесь кот двигается плавно: за один кадр cat_x меняется на 7 пикселей. И кадров теперь 60 в секунду — поэтому движение гладкое.

pygame.key.get_pressed() — зажатые клавиши

Раньше мы ловили момент нажатия (KEYDOWN). Здесь иначе: каждый кадр спрашиваем «какие клавиши сейчас зажаты?». Пока держишь стрелку — кот едет. Отпустил — остановился. Так удобнее для плавного движения.

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:   # левая стрелка зажата?
    cat_x -= 7            # едем влево

Кот не убегает за край

cat_x = max(0, min(cat_x, WIDTH - cat_w)) — хитрая, но полезная строчка. min(...) не даёт уехать вправо дальше края, а max(0, ...) — влево за ноль.

🎮 Попробуй сам 1. Сделай кота быстрее или медленнее — поменяй 7.
2. Поставь кота повыше — измени cat_y.
3. Поменяй цвет ORANGE на свой.
← К курсуВсе уроки кота