Menu
CoddyTech

Memantul

Termasuk bagian Proyek dalam perjalanan Pygame di Coddy. Pelajaran 12 dari 31.

Bola memantul dari tepi atas dan bawah. Saat bola menyentuh salah satunya, balik tanda vy: gerakan ke bawah menjadi gerakan ke atas dengan jarak yang sama.

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

Uji dengan <= dan >=, bukan ==. Bola bergerak 4 piksel setiap frame, jadi posisi bawahnya menjadi 395, 399, 403 dan tidak pernah tepat 400.

Tepi kiri dan kanan adalah tempat poin dicetak, jadi bola tidak memantul di sana. Untuk sekarang, bola terbang keluar.

challenge icon

Tantangan

Mudah

Setelah menggerakkan bola, balik vy saat bagian atas bola berada di 0 atau kurang, atau bagian bawahnya di 400 atau lebih.

Coba sendiri

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()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Proyek

Latihan sendiri: Playground Pygame