Menu
CoddyTech

הקפצה

שיעור 30 מתוך 41 בקורס צרו משחקים עם Pygame של Coddy.

הכדור ניתז מהקצוות העליונים והתחתונים. ברגע שהוא נוגע באחד מהם, הפוך את הסימן של vy: תנועה כלפי מטה הופכת לתנועה כלפי מעלה באותו המרחק.

if ball.top <= 0 or ball.bottom >= 400:
    vy = -vy

בדוק באמצעות <= ו->=, ולא באמצעות ==. הכדור נע 4 פיקסלים בכל פריים, ולכן הקצה התחתון שלו עובר דרך 395, 399, 403 ולעולם אינו בדיוק 400.

הקצוות השמאלי והימני הם המקומות שבהם צוברים נקודות, ולכן הכדור אינו ניתז מהם. לעת עתה הוא עף החוצה.

challenge icon

אתגר

קל

הקפץ את הכדור מהקצה העליון ומהקצה התחתון.

  1. אחרי הזזת הכדור, הפוך את vy כאשר החלק העליון של הכדור נמצא בגובה 0 או פחות.
  2. הפוך אותו גם כאשר החלק התחתון שלו נמצא בגובה 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 אונליין