[Précédent] |
10.4 |
Conception d'un jeu de stratégie - Enoncé | Niveau 2 |
||
But: |
Analyse de la conception d'un programme | |||
Thème: |
interface, abstract | |||
Fichiers: |
Unite.java |
Pour cet exercice, vous n'aurez rien à programmer. Une feuille et un crayon devraient suffire.
Un programmeur, encore débutant, décide de programmer un jeu de stratégie militaire. L’action se déroule dans un monde imaginaire peuplé par deux races: elfes et nains.
Les nains utilisent des haches et les elfes des arcs. Il y a différent types de haches et d’arcs qui sont plus
ou moins efficaces.
Les elfes et les nains peuvent être cavalier ou magicien.
Au cours du jeu, les joueurs disposent d’une armée composée de plusieurs unités et ont pour but de détruire l’armée ennemie.
Les unités sont caractérisées par leur race, leur points de vie restants et leur statut (mort ou en vie) ainsi que leur arme, et leur compétences (magicien ou cavalier).
Lors d’une première ébauche, notre programmeur modélise le jeu de la façon suivante (fichier fourni) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
class Unite { private boolean enVie; private int pointsDeVie; } class Hache {} class Arc {} interface Nain { public void frappeAvecHache(); } interface Elfe { public void tireFleche(); } interface Magicien { public void lanceSort(); } interface Cavalier { public void chevauche(); } class NainMagicien extends Unite implements Nain, Magicien { private int taille; private Hache hache; public void frappeAvecHache() {}; public void lanceSort() {}; } class NainCavalier extends Unite implements Nain, Cavalier { private int taille; private Hache hache; public void frappeAvecHache() {}; public void chevauche() {}; } class ElfeMagicien extends Unite implements Elfe, Magicien { private int poids; private Arc arc; public void tireFleche() {}; public void lanceSort() {}; } class ElfeCavalier extends Unite implements Elfe, Cavalier { private int poids; private Arc arc; public void tireFleche() {}; public void chevauche() {}; } |
De plus, soucieux de plonger le joueur dans l’univers de ses créatures, il ajoute un attribut taille à tous les nains et poids à tous les elfes. En effet les nains, qui sont petits, tiennent beaucoup à ce qu’on ne sous-estime pas leur taille et les elfes, qui sont très légers, n’aiment pas qu’on surestime leur poids. Ces attributs seront utilisés pendant le jeu afin que les unités puisse s’envoyer des railleries.
Aidez notre programmeur à répondre aux questions qu’il se pose :
.. et une fois vu le cours de la semaine prochaine, petite question subsidiaire :
[Précédent] |