Tableau des scores
Leçon 34 sur 40 du cours Créez des jeux avec Pygame de Coddy.
Une balle qui sort par la droite rapporte un point au joueur de gauche, et inversement. Divise le test en deux, pour que chaque côté sache qui a marqué :
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 = -vxAffiche les deux scores sur une seule ligne en haut, centrés : f"{left_score} : {right_score}" affiche 2 : 1.
Défi
Facile- Avant la boucle, crée
font = pygame.font.Font(None, 36),left_score = 0etright_score = 0. - Divise la réinitialisation en deux : une balle qui dépasse le bord droit ajoute 1 à
left_score, une balle qui dépasse le bord gauche ajoute 1 àright_score. Dans les deux cas, replace la balle au milieu et inversevx. - Affiche
f"{left_score} : {right_score}"en(240, 240, 240), centré en(300, 30).
Essayez vous-même
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()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Créez des jeux avec Pygame
1La boucle de jeu
Ouvrir une fenêtreRemplir l’arrière-plan4Deux joueurs et une balle
La balleRebondEntraînez-vous par vous-même : Playground Pygame