Files
cours/pygame/bouncing_ball/f
2025-01-23 14:45:10 +01:00

12 KiB

───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
File: raquette.py
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 import sys
2 import pygame
3 from balle import Balle
4 from raquette import Raquette
5 from constantes import *
6
7 pygame.init()
8
9 # Création de la fenêtre
10 ecran = pygame.display.set_mode((LARGEUR_ECRAN, HAUTEUR_ECRAN))
11 ecran.fill(BLANC)
12 pygame.display.set_caption('Balle rebondissante avec raquette')
13
14 clock = pygame.time.Clock()
15
16 # Initialisation des objets
17 balle = Balle()
18 raquette = Raquette()
19
20 bouge = False
21
22 while True: # Boucle principale
23 for event in pygame.event.get():
24 if event.type == pygame.QUIT:
25 sys.exit()
26 elif event.type == pygame.KEYDOWN:
27 if event.key == pygame.K_SPACE:
28 bouge = not bouge
29 elif event.key == pygame.K_LEFT:
30 raquette.deplaceGauche()
31 elif event.key == pygame.K_RIGHT:
32 raquette.deplaceDroite()
33
34 ecran.fill(BLANC)
35
36 if bouge:
37 balle.deplace()
38
39 # Collision balle-raquette
40 if (balle.ypos + balle.rayon >= HAUTEUR_ECRAN - 20 and
41 raquette.xpos <= balle.xpos <= raquette.xpos + raquette.largeur):
42 balle.yvit = -balle.yvit
43
44 balle.affiche(ecran)
45 raquette.affiche(ecran)
46
47 pygame.display.update()
48 clock.tick(60)
49
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────