הקפצה
שיעור 30 מתוך 41 בקורס צרו משחקים עם 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 אונליין