import pygame, sys, random # Яблоко apple_w, apple_h = 46, 50 apple_x = random.randint(0, WIDTH - apple_w) apple_y = -apple_h # начинаем чуть ВЫШЕ экрана speed = 4 # на сколько пикселей падает за кадр while True: # ... события и движение кота ... # Яблоко падает apple_y += speed # Улетело вниз — новое сверху в случайном месте if apple_y > HEIGHT: apple_x = random.randint(0, WIDTH - apple_w) apple_y = -apple_h # ... рисуем ... pygame.draw.rect(screen, RED, (apple_x, apple_y, apple_w, apple_h))
У экрана ось y смотрит вниз. Поэтому чтобы яблоко падало,
каждый кадр прибавляем к apple_y число speed. Чем
больше speed, тем быстрее падает.
-apple_h (выше экрана)?Если начать с y = 0, яблоко появится уже наполовину видимым.
А с y = -50 (его высота) оно «выезжает» из-за верхнего края
плавно. Красиво!
random.randintrandom.randint(0, WIDTH - apple_w) даёт случайное число от 0 до
правого края (минус ширина яблока, чтобы не вылезло за экран). Так каждое
новое яблоко падает в новом месте.
speed = 8.apple2_x, apple2_y и
тоже рисуй и двигай его.