Table des matières

Pygame : créer une fenêtre de jeu

Créer un projet repl.it

Créer la fenêtre de jeu

Il faut tout d'abord importer la bibliothèque Pygame.

import pygame

Puis initialiser Pygame.

pygame.init() 

Il ne reste plus qu'à définir les dimensions de la fenêtre de jeu :

Comme ces valeurs ne changeront pas tout au long du jeu, elles sont considérées comme des constantes et par convention, le nom des variables est écrit en majuscule

HAUTEUR = 400 
LARGEUR = 400

Définir la couleur de fond :

COULEUR_FOND = (255, 255, 255)

Lancer l'affichage de la fenêtre de jeu :

ECRAN = pygame.display.set_mode((LARGEUR, HAUTEUR))

Les deux paramètres de la fonction set_mode() sont fournis sous la forme d'un tuple : (LARGEUR, HAUTEUR)

La boucle du jeu

La boucle de jeu ou boucle d’animation, est une notion fondamentale dans les jeux. Elle correspond à une boucle infinie qu'il faudra interrompre pour quitter le jeu. Pour cela, on code une action utilisateur comme par exemple l'appui sur la touche [Esc] du clavier.

Il est pratique d'utiliser une variable booléenne :

ARRET = False
while not ARRET: 
  # instructions de la boucle infinie

Durant cette boucle de jeu, le programme :

Chaque itération devrait avoir la même durée que toutes les autres pour permettre une fluidité dans le déroulement du jeu et en général Pygame réalise 30 itérations par seconde (30 images par seconde).

Pour la couleur de fond :

La fonction pygame.event.get() permet d’intercepter tous les événements entrants notamment depuis le clavier, la souris, etc. Si on appuie sur la touche [Esc], alors le jeu est interrompu. Ceci est permis en utilisant les évènements du clavier suivants :

   for event in pygame.event.get(): 
       if event.type == pygame.KEYDOWN: 
           if event.key == pygame.K_ESCAPE: 
               ARRET = True

Le système de coordonnées Pygame

L’écran est muni d’un système de coordonnées orthonormé.

L’origine du repère, le point (0, 0), est le point supérieur gauche de l’écran.

L’axe des x est l’axe horizontal orienté vers la droite.

L’axe des y est l’axe vertical orienté vers le bas.

Programme complet :

import pygame 
pygame.init() 
HAUTEUR = 600 
LARGEUR = 600
COULEUR_FOND = (255, 255, 255)
ECRAN = pygame.display.set_mode((LARGEUR, HAUTEUR))
ARRET = False
while not ARRET: 
   ECRAN.fill(COULEUR_FOND)
   pygame.display.update() 
   for event in pygame.event.get(): 
       if event.type == pygame.KEYDOWN: 
           if event.key == pygame.K_ESCAPE: 
               ARRET = True

https://repl.it/@charlestecher/pygame-1

Les activités ...