קפיצה
שיעור 30 מתוך 40 בקורס יוצרים משחקים עם Pygame של Coddy.
הכדור ניתז מהקצוות העליונים והתחתונים. ברגע שהוא נוגע באחד מהם, הפוך את הסימן של vy: תנועה כלפי מטה הופכת לתנועה כלפי מעלה באותו המרחק.
if ball.top <= 0 or ball.bottom >= 400:
vy = -vyבדוק באמצעות <= ו->=, ולא באמצעות ==. הכדור נע 4 פיקסלים בכל פריים, ולכן הקצה התחתון שלו עובר דרך 395, 399, 403 ולעולם אינו בדיוק 400.
הקצוות השמאלי והימני הם המקומות שבהם צוברים נקודות, ולכן הכדור אינו ניתז מהם. לעת עתה הוא עף החוצה.
אתגר
קללאחר הזזת הכדור, הפוך את vy כשהחלק העליון של הכדור נמצא ב־0 או פחות, או כשהחלק התחתון שלו נמצא ב־400 או יותר.
נסו בעצמכם
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
ball.x += vx
ball.y += vy
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), ball)
pygame.display.flip()
clock.tick(60)
pygame.quit()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יוצרים משחקים עם Pygame
תרגלו בעצמכם: Pygame אונליין