Menu
CoddyTech

Nảy

Thuộc phần Dự án trong hành trình Pygame của Coddy. Bài học 12 trên 33.

Quả bóng nảy khỏi mép trên và dưới. Khi chạm vào một mép, hãy đổi dấu của vy: bóng đang đi xuống sẽ chuyển sang đi lên với cùng tốc độ.

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

Kiểm tra bằng <= và >=, không dùng ==. Quả bóng di chuyển 4 pixel mỗi khung hình, vì vậy đáy bóng lần lượt ở các vị trí 395, 399, 403 và không bao giờ đúng bằng 400.

Mép trái và phải là nơi tính điểm, vì vậy quả bóng không nảy ở đó. Lúc này, bóng bay ra ngoài.

challenge icon

Thử thách

Dễ

Cho bóng nảy khỏi cạnh trên và cạnh dưới.

  1. Sau khi di chuyển bóng, đảo dấu vy khi mép trên của bóng ở mức 0 hoặc thấp hơn.
  2. Đảo dấu biến này khi mép dưới của bóng ở mức 400 hoặc cao hơn.

Nhấn Chơi: bóng nảy khỏi cạnh dưới. Sau đó nhấn Kiểm tra.

Tự làm thử

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()

Tất cả bài học trong Dự án

Tự luyện tập: Playground Pygame