Tableau des scores
Leçon 34 sur 41 du cours Créer 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
FacileConserve le score des deux joueurs.
- Avant la boucle, définis
font = pygame.font.Font(None, 36),left_score = 0etright_score = 0. - Une balle qui sort à droite ajoute 1 à
left_score, et une balle qui sort à gauche ajoute 1 àright_score; dans les deux cas, la balle est quand même remise en jeu. - Affiche
f"{left_score} : {right_score}"en(240, 240, 240), centré en(300, 30).
Appuie sur « Jouer » et laisse passer la balle : le score affiche 1 : 0. Puis appuie sur « Vérifier ».
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()
Toutes les leçons de Créer 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