Un jeu comporte souvent des sprites du même type, comme par exemple les bombes larguées par un vaisseau, les pièces récoltées par un personnage, etc...
Pour chacun de ces acteurs du même type, on créera un objet ayant ses propres attributs.
Voila par exemple une classe Tir
, destinée à instancier les multiples objets modélisant des tirs du vaisseau du script précédent.
Un tir est caractérisé par ses coordonnées. Les coordonnées initiales du tir sont déterminées à partir de celles du vaisseau, sachant que ces coordonnées
correspondent au coin en haut à gauche.
On déplace ensuite le tir jusqu’à ce qu’il sorte de l’écran.
On utilisera alors une liste Python liste_tirs pour stocker les objets correspondant aux différents tirs "en cours" :
Jeu
)move()
du vaisseau renverra une information qui indiquera au jeu d'ajouter à la liste liste_tirs un objet de type Tir
.update()
de la classe Jeu
, on parcourra la liste liste_tirs et on appellera la méthode move()
de chacun de ses éléments.is_alive()
, qui indiquera au jeu de supprimer l'objet correspondant de la liste.draw()
pour afficher les différents tirs avec la méthode draw()
de la classe Tir
.A l'aide du même mécanisme, gérer le largage simultané par le vaisseau de bombes ( circulaires ) vers le bas de l'écran.