Menu
CoddyTech

Memantul

Pelajaran 30 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.

Bola memantul dari tepi atas dan bawah. Saat menyentuh salah satunya, balik tanda vy: gerakan ke bawah berubah 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 bagian bawahnya berada di 395, 399, 403 dan tidak pernah tepat di 400.

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

challenge icon

Tantangan

Mudah

Setelah menggerakkan bola, ubah tanda 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 Buat Game dengan Pygame

Latihan sendiri: Playground Pygame