Aller au contenu

TP : introduction à Pygame⚓︎

Ressources⚓︎

Si besoin, consulter les pages sur le site de première:

Énoncé⚓︎

  1. À partir du code donné en exemple avec une représentation de la balle par un cercle (cf. Dessiner avec Pygame), terminer le programme pour faire rebondir la balle sur tous les bords de la fenêtre.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    import pygame
    from pygame.locals import *
    
    pygame.init()
    
    width, height = 320, 240
    screen = pygame.display.set_mode((width, height))
    
    # Caractéristiques de la balle
    rayon = 
    x = width // 2 
    y = height // 2
    dx = 1
    couleur = (255, 110, 66)
    # Dessin du cercle
    pygame.draw.circle(screen, couleur, (x, y), rayon)
    
    continuer = True
    while continuer:
        for evenement in pygame.event.get():
            if evenement.type == QUIT:
                continuer = False
    
        x = x + dx
    
        screen.fill([0, 0, 0])
        pygame.draw.circle(screen, couleur, (x, y), rayon)
        pygame.display.flip()
    
    pygame.quit()
    
  2. Ajouter une deuxième balle, dont la position de départ, la couleur et le déplacement seront aléatoires (utiliser le module random).

  3. Gérer la collision entre deux balles:
    • en créant une fonction distance qui renvoie la distance entre les centres de deux balles;
    • en échangeant les déplacements des balles lorsqu'il y a collision.