Papan Skor
Pelajaran 34 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.
Bola yang keluar di sebelah kanan menjadi poin untuk pemain kiri, dan sebaliknya. Bagi pengujian menjadi dua bagian agar setiap sisi tahu siapa yang mencetak poin:
if ball.left > 600:
left_score += 1
ball.center = (300, 200)
vx = -vx
if ball.right < 0:
right_score += 1
ball.center = (300, 200)
vx = -vxTampilkan kedua skor dalam satu baris di bagian atas, rata tengah: f"{left_score} : {right_score}" menampilkan 2 : 1.
Tantangan
Mudah- Sebelum perulangan, buat
font = pygame.font.Font(None, 36),left_score = 0, danright_score = 0. - Pisahkan pengaturan ulang menjadi dua bagian: bola yang melewati tepi kanan menambahkan 1 ke
left_score, bola yang melewati tepi kiri menambahkan 1 keright_score. Keduanya membawa bola ke tengah dan membalikvx. - Render
f"{left_score} : {right_score}"dengan warna(240, 240, 240), di tengah pada posisi(300, 30).
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
left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
left.y -= 6
if keys[pygame.K_s]:
left.y += 6
if keys[pygame.K_UP]:
right.y -= 6
if keys[pygame.K_DOWN]:
right.y += 6
left.clamp_ip(screen.get_rect())
right.clamp_ip(screen.get_rect())
ball.x += vx
ball.y += vy
if ball.top <= 0 or ball.bottom >= 400:
vy = -vy
if ball.colliderect(left):
vx = abs(vx)
if ball.colliderect(right):
vx = -abs(vx)
if ball.right < 0 or ball.left > 600:
ball.center = (300, 200)
vx = -vx
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), left)
pygame.draw.rect(screen, (235, 80, 80), right)
pygame.draw.rect(screen, (255, 196, 0), ball)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Buat Game dengan Pygame
1Perulangan Game
Buka JendelaIsi Latar4Dua Pemain dan Sebuah Bola
BolanyaMemantulLatihan sendiri: Playground Pygame