Шаг 1: установка и создание окна
Сначала устанавливаем Pygame и создаём окно игры:
import pygame
import random
pygame.init()
ШИРИНА, ВЫСОТА = 600, 500
экран = pygame.display.set_mode((ШИРИНА, ВЫСОТА))
pygame.display.set_caption("Поймай монеты!")
ОРАНЖЕВЫЙ = (255, 140, 0)
БЕЛЫЙ = (255, 255, 255)
ЧЁРНЫЙ = (0, 0, 0)
ЖЁЛТЫЙ = (255, 220, 0) Шаг 2: создаём игрока и монету
игрок = pygame.Rect(280, 450, 60, 15) монета = pygame.Rect(random.randint(0, 550), 0, 20, 20) скорость_монеты = 4 счёт = 0 шрифт = pygame.font.Font(None, 36)
Шаг 3: игровой цикл
часы = pygame.time.Clock()
запущено = True
while запущено:
for событие in pygame.event.get():
if событие.type == pygame.QUIT:
запущено = False
# Управление игроком
клавиши = pygame.key.get_pressed()
if клавиши[pygame.K_LEFT] and игрок.left > 0:
игрок.x -= 6
if клавиши[pygame.K_RIGHT] and игрок.right < ШИРИНА:
игрок.x += 6
# Движение монеты
монета.y += скорость_монеты
# Поймана?
if игрок.colliderect(монета):
счёт += 1
скорость_монеты += 0.3 # ускоряем
монета = pygame.Rect(random.randint(0, 550), 0, 20, 20)
# Упала мимо?
if монета.y > ВЫСОТА:
монета = pygame.Rect(random.randint(0, 550), 0, 20, 20)
# Рисуем
экран.fill(ЧЁРНЫЙ)
pygame.draw.rect(экран, ОРАНЖЕВЫЙ, игрок)
pygame.draw.circle(экран, ЖЁЛТЫЙ,
(монета.x + 10, монета.y + 10), 10)
текст = шрифт.render(f"Счёт: {счёт}", True, БЕЛЫЙ)
экран.blit(текст, (10, 10))
pygame.display.flip()
часы.tick(60)
pygame.quit() Запустите файл — игра работает! Каждая пойманная монета ускоряет следующую. Это уже настоящая механика прогрессии.
Как улучшить игру: 5 идей
- Добавить жизни — если монета упала мимо, теряется жизнь
- Добавить звук — pygame.mixer для звука поимки и проигрыша
- Добавить картинки — pygame.image.load() заменит прямоугольники на спрайты
- Добавить несколько монет одновременно — список вместо одного объекта
- Добавить «плохие» монеты — красные нужно избегать
Курс для детей
Python для детей — создаём игры
На курсе дети изучают Python и создают игры с нуля: от простых механик до полноценных проектов на Pygame. Живые занятия, малые группы, реальные проекты в портфолио.
Подробнее о курсе