Python : création d’un jeu vidéo (mini projet):
Pygame est une bibliothèque libre multiplate-forme qui facilite le développement de jeux vidéo en
temps réel avec le langage de programmation Python.
Construite sur la bibliothèque SDL, elle permet de programmer la partie multimédia (graphismes,
son et entrées au clavier, à la souris ou au joystick), sans se heurter aux difficultés des langages de bas
niveaux. Cela se fonde sur la supposition que la partie multimédia, souvent la plus contraignante à
programmer dans un jeu, est suffisamment indépendante de la logique même du jeu pour qu’on puisse
utiliser un langage de haut niveau (en l’occurrence le Python) pour la structure du jeu.
Pygame, en plus d’adapter la SDL au Python, fournit également un petit nombre de fonctions
spécifiques au développement de jeux. On peut aussi remarquer que Pygame n’est plus utilisée exclu-
sivement pour des jeux vidéo, mais également pour des applications diverses nécessitant du graphisme.
1. Ouverture d’une fenêtre:
On s’interesse au code suivant:
1.1 Expliquer ce code.
1.2 Est-il possible de fermer la fenêtre?
1
2. Affichage d’un fond et d’un personnage:
On s’interesse au code suivant:
2.1 Expliquer ce code.
2.2 Gérer la transparence du personnage en remplaçant convert() par convert alpha().
3. Gestion des événements:
Un événement peut prendre plusieurs formes, il peut être amené par la pression ou le relâchement
d’une touche du clavier, ou encore d’un bouton de la souris, un mouvement de la souris, du joy-
stick, etc... Mais il peut aussi être un déplacement ou un redimensionnement de la fênetre. Un
événement est donc tout ce que le programme peut capter, de la part de l’utilisateur.
2
On s’interesse au code suivant (le début reste identique aux codes précédents):
3.1 Expliquer ce code.
3.2 Placer avant la boucle principale la commande [Link] repeat(400, 30) afin de ne
pas avoir à appuyer sur bas plusieurs fois pour déplacer le personnage.
3.3 Modifier le code afin que le personnage puisse se déplacer dans les quatre directions.
3.4 Modifier encore le code afin que le personnage ne puisse pas sortir de la fenêtre.
NB: les coordonnées d’un point de la fenêtre sont données comme suit:
3
4. Un premier jeu: Bouncing Ball:
4.1 Télécharger le code et les images correspondant à l’exercice Bouncing ball.
4.2 Modifier le code afin que la balle soit sombre lorsqu’elle descend et lumineuse lorsqu’elle
monte.
4.3 Ajouter un mode pause via la touche espace.
4.4 Ajouter la possibilité de d’accélérer la balle via les touches haut/bas.
5. Un second jeu: Starship:
5.1 Télécharger le code et les images correspondant à l’exercice Bouncing ball.
5.2 Modifier le code afin qu’une explosion apparaisse lors de la rencontre du vaisseau et de
l’astéroı̈de.
5.3 Modifier le code afin que le fond défile.
5.4 Ajouter une musique au jeu.
5.5 Ajouter un laser tiré par le vaisseau. Ce dernier doit provoquer une explosion lors de sa
rencontre avec l’astéroı̈de.