Salut à toi, élève de NSI, comment puis-je t'aider ?
Utiliser les touches 'Q' et 'M' pour se diriger, et 'X' pour tirer.
C'est la mode du retro-gaming ! Une société cherche à éditer un jeu basé sur un célèbre concept avec un look vintage.
Le chef de projet vous a fourni une ébauche de code, dans laquelle manifestement on utilise le paradigme de programmation objet, mais il manque beaucoup de choses pour que le jeu fonctionne...
Il vous charge donc d'écrire le reste du code de ce jeu, qui utilise le module Python Pyxel.
Le fichier envahisseur.py
correspond au fichier principal du jeu et contient la classe Game
déjà complète;
les autres classes nécessaires au fonctionnement du jeu seront codées dans leurs propres fichiers, qui seront alors importés depuis le script principal (le
chef de projet connaît aussi l'importance de modulariser un code...)
En étudiant le code de la classe Game
, faire, sur papier, l'analyse suivante :
Inspirez-vous du jeu ci-dessus pour les graphismes dans un premier temps, puis utilisez éventuellement des images par la suite.
Utilisez la documentation de Pyxel présente sur la page en lien ci-dessus.
La gestion du clavier est déja implémentée dans le code principal.
Répartissez-vous le travail à faire : certaines classes peuvent être écrites par la même personne, car elles sont étroitement liées.
Pensez à tester votre code indépendamment de celui des autres membres du groupe, mais n'hésitez pas à vous concerter si nécessaire.
Pour développer avec le module Pyxel, vous pouvez utiliser le site Pyxel Studio, mais qui est parfois interdit par le serveur du lycée...
Pour l'installer sur vos machines, suivre la procédure présentée sur cette page.
Enfin, si tout cela ne fonctionne toujours pas, il vous reste la possibilité de coder dans les éditeurs en ligne, mais qui ne gèrent pas le clavier, seulement la souris; adapter alors le code principal selon les commentaires.
Une fois le code des différentes classes écrit, vous mettrez en commun votre travail pour faire fonctionner le jeu !
Un code complet peut être trouvé ici.