Archi-connu ! Vous dirigez à l'aide d'une raquette une balle rebondissante qui doit détruire un mur de briques en haut de l'écran :
Projet pas évident, puisqu'il faudra gérer le déplacement de deux objets, la raquette et la balle, son éventuelle collision avec une brique,...
De nombreux éléments sont à afficher.
Vous trouverez ici une archive contenant un script Python de base et les images à afficher dans votre jeu.
le "plateau de jeu" est une grille de 25 lignes et 40 colonnes; dans chaque case de cette grille peut être affichée une image représentant soit la balle, soit une brique, soit une raquette :
Le plateau de jeu est représenté dans le script par une liste de listes grille de 25 lignes de 40 colonnes, soit autant de "cases" qu'il y a sur le plateau de jeu; chaque élément de la liste de listes peut contenir un entier qui code l'image à afficher dans la "case" correspondante du plateau de jeu.
Cette liste de listes permettra de garder en mémoire l'état du plateau de jeu et de pouvoir gérer celui-ci.
Le codage dans la liste de listes est le suivant :affiche()
pour afficher toutes les images du jeu ( cette procédure "balaie" chaque élément de la liste de listes, et, selon la valeur de l'élément, affiche l'image correspondante )efface()
pour effacer toutes les images.anim()
( correspondant en fait à une boucle infinie) qui exécutera "en boucle" ses instructions toutes les 30 ms ( cette valeur peut être modifiée pour ralentir ou accélérer le jeu ).gauche()
lors de l'appui sur la touche 'q'droite()
lors de l'appui sur la touche 'm'Assurez-vous d'avoir bien compris la logique du jeu, la manière d'afficher des images,...
Une phase de réflexion sur papier est indispensable pour décomposer le projet en ses différentes fonctions à réaliser. Cette phase de réflexion devra apparaître clairement sur le compte-rendu que vous rendrez en fin de projet
Une fois cette analyse fonctionnelle faite, répartissez-vous le travail; faites régulièrement des mises en commun pour voir où vous en êtes dans l'avancement de votre projet.
Vous pourrez bien entendu compléter votre jeu avec des fonctionnalités supplémentaires : ajout d'un score, gestion de la difficulté, etc....