Connexion élèves

Les envahisseurs !

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.

Il vous charge donc d'écrire le code du jeu, qui conprendra 5 classes Ennemi, Joueur, Rocket, Bombe et Game en utilisant la POO et le module Tkinter.

Analyse préalable du code fourni

Les classes Joueur, Rocket, Ennemiet Bombe peuvent être écrites par une seule personne indépendamment des autres, et la classe Game qui devra être écrite en commun car elle utilise les autres classes.

Le fichier envahisseur.py correspond au fichier principal du jeu et contient la classe Game; les autres classes sont dans leur propre fichier.

  1. sur papier, identifier les attributs et les méthodes associés à chacune des 4 classes à compléter.
  2. Faire vérifier votre analyse.
  3. répartissez-vous le travail d'écriture du code.

Gestion des évènement appui touche clavier avec Tkinter :

Une instruction ( bind() ) est utilisée dans le code de la classe Game pour lier l'évènement "appui sur une touche" à une méthode ( appelée ici move() ) qui fait partie de la classe Joueur.

La méthode move() est appelée un gestionnaire d'évènement ou méthode de callback.

La méthode bind() renvoie automatiquement à la méthode de callback un résultat qui contient les caractéristiques de l'évènement, et notamment la lettre correspondant à la touche appuyée :


def move(self, event):
	c = event.char() # c contient une chaîne contenant la lettre de la touche appuyée				
				

A vous de choisir les touches adaptées pour le déplacement du vaisseau du joueur ainsi que le tir des roquettes.

Codage de la classe Game

Une fois le code des 4 classes de base écrit, vous allez mettre en commun votre travail pour coder la classe Game et faire fonctionner le jeu.

Inspirez-vous du jeu ci-dessus pour les graphismes.

Pensez à tester votre code indépendamment de celui des autres membres du groupe, mais n'hésitez pas à vous concerter si nécessaire.

Rappels :

La méthode tableau.append(element) ajoute un élément à la fin d'un tableau.

La méthode tableau.remove(element) supprime un élément quelconque d'un tableau.

Fin du codage et lancement du jeu

Une fois les 5 classes complétées, écrire les imports nécessaire et réfléchir à la manière de lancer le jeu !

Prolongements éventuels

Solution

Un code complet peut être trouvé ici.