Skor Tabelası
Coddy'nin Pygame ile Oyun Yap kursunda ders 34 / 40.
Sağdan dışarı çıkan top, sol oyuncuya puan kazandırır; bunun tersi de geçerlidir. Testi ikiye ayır, böylece her taraf kimin sayı yaptığını bilir:
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 = -vxHer iki skoru da üstte, ortalanmış tek bir satırda göster: f"{left_score} : {right_score}", 2 : 1 şeklinde görünür.
Görev
Kolay- Döngüden önce
font = pygame.font.Font(None, 36),left_score = 0veright_score = 0oluştur. - Sıfırlama işlemini ikiye ayır: sağ kenarı geçen top
left_scoredeğerini 1 artırır, sol kenarı geçen top iseright_scoredeğerini 1 artırır. Her iki durumda da top ortaya getirilir vevxtersine çevrilir. f"{left_score} : {right_score}"ifadesini(240, 240, 240)renginde, merkezi(300, 30)olacak şekilde çiz.
Kendin dene
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()
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Pygame ile Oyun Yap bölümündeki tüm dersler
1Oyun Döngüsü
Bir Pencere AçArka Planı Doldur4İki Oyuncu ve Bir Top
TopSekmeKendi başına pratik yap: Pygame playground