2016_2017:s3:concprogobjet:td:td7
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2016_2017:s3:concprogobjet:td:td7 [2016/11/05 22:10] – [Jeu] blay | 2016_2017:s3:concprogobjet:td:td7 [2016/12/05 10:11] (current) – [Partie 3] blay | ||
---|---|---|---|
Line 2: | Line 2: | ||
- | voici quelques exercices simples mettant en jeu des DP | + | voici quelques exercices simples mettant en jeu deux DPs. |
- | ===== Jeu ===== | + | ===== Partie 1 ===== |
/* decorateur | /* decorateur | ||
*/ | */ | ||
Line 11: | Line 11: | ||
Les personnages savent se battre en utilisant des armes qui peuvent être des dagues, des épées et des boucliers. | Les personnages savent se battre en utilisant des armes qui peuvent être des dagues, des épées et des boucliers. | ||
- | Une arme a une force d' | + | Une arme a une force d' |
Pour l' | Pour l' | ||
* dague : force : 20, protection : 10 | * dague : force : 20, protection : 10 | ||
Line 17: | Line 17: | ||
* bouclier : force : 5, protection : 20 | * bouclier : force : 5, protection : 20 | ||
- | L’utilisateur du jeu doit avoir la possibilité d’ordonner à un personnage | + | Au début de sa vie un personnage |
+ | Il est affaibli au cours de sa vie, ce qui réduit son coefficient | ||
- | En fonction du jeu, il est possible d' | + | L’utilisateur du jeu doit avoir la possibilité d’ordonner à un personnage de se battre contre un autre. Celui qui est attaqué (B) voit sa vitalité décroitre d'un coefficient qui correspond à la force de l' |
+ | |||
+ | En fonction du jeu, il est possible d' | ||
+ | On veut pouvoir ainsi ajouter en fonction des jeux que nous diffuserons différentes manières d'" | ||
Ces armes modifiés sont manipulables comme des armes normales. | Ces armes modifiés sont manipulables comme des armes normales. | ||
+ | A un moment donné du jeu, un personnage ne manipule qu’une seule arme, au moins dans un premier temps. Cependant, il peut changer d’arme plusieurs fois au cours du déroulement du jeu. | ||
- | Au début de sa vie un personnage a un coefficient | + | On suppose que chaque |
- | Il est affaibli au cours de sa vie, ce qui réduit son coefficient de vitalité. | + | |
- | A un moment donné du jeu, un personnage | + | * Définir |
+ | * Tester vos classes avec le scénario suivant : | ||
+ | - Créer | ||
+ | - Créer un personnage nommé « Azag» de type « Orc » avec des oreilles de 5 cm; | ||
+ | - L’utilisateur demande à Diablon | ||
+ | - L’utilisateur demande à Azag d' | ||
+ | - On modifie l'arme associée à Diablon en la rendant magique avec un coefficient | ||
+ | - Diablon attaque Azag qui perd 5 points de vitalité; | ||
+ | - On modifie l'arme associée à Diablon en lui ajoutant un amplificateur de coefficient 3; | ||
+ | | ||
+ | - .... | ||
+ | - L’utilisateur crée un personnage nommé « ArKor» de type « Troll », bière préférée « Heineken ». | ||
+ | - etc. | ||
+ | // | ||
+ | |||
+ | **Remarques :** | ||
+ | * que se passe-t-il si un personnage est attaqué avec une force inférieure à sa capacité à se protéger? | ||
+ | * quelles sont les conséquences d'un ordre différent d' | ||
+ | |||
+ | ===== Partie 2 ===== | ||
+ | /* Fabrique | ||
+ | */ | ||
+ | |||
+ | Au fur et à mesure que le jeu est mis sur le marché, pour " | ||
+ | L' | ||
+ | - ne pas modifier les classes d' | ||
+ | - pouvoir créer des armes à partir de leur type et avec un nom donné (ex: créer une épée de nom // | ||
+ | - retrouver une arme à partir de son nom; | ||
+ | - améliorer des armes (ex : amplifier excalibur d'un comportement magique de force 10). | ||
+ | |||
+ | |||
+ | exemple de scenario de test : | ||
+ | <code java> | ||
+ | WeaponFactory wf = new WeaponFactory(); | ||
+ | Weapon w = wf.createWeapon(" | ||
+ | w = wf.improve(" | ||
+ | assertEquals(30, | ||
+ | assertEquals(5, | ||
+ | w = wf.improve(" | ||
+ | assertEquals(300, | ||
+ | assertEquals(50, | ||
+ | </ | ||
| | ||
- | L’utilisateur du jeu doit avoir la possibilité | + | |
- | Selon l’arme manipulée | + | Les Personnages au début sont créés en fonction des classes |
- | On suppose que chaque | + | |
- | Définir un diagramme | + | ===== Partie 3 ===== |
- | Tester vos classes avec le scénario suivant | + | |
- | L’utilisateur crée | + | On désire pouvoir manipuler des personnages individuels et également des groupes tels que armés, des bataillons ou des hordes. Une armée est composée de généraux (personnages individuels) et de bataillons. |
- | L’utilisateur demande au personnage | + | |
- | L’utilisateur crée | + | Lors d'une attaque |
- | L’utilisateur demande au personnage de se battre. | + | |
- | L’utilisateur crée | + | De même pour la puissance protectrice. |
- | L’utilisateur demande au personnage | + | |
- | L’utilisateur crée | + | ===== Partie 4 ===== |
- | L’utilisateur demande au personnage de se battre. | + | On veut pouvoir créer des personnages automatiquement, |
- | L’utilisateur change | + | La création d' |
- | L’utilisateur demande à Diablon | + | La coût de création d'un groupe dépend du type de groupe |
+ | * Ainsi create(" | ||
+ | * De même CreateGroup(" | ||
+ | | ||
+ | * Créer une armée est un peu plus complexe. CreateGroup(" | ||
+ | |||
+ | |||
+ | //Bien sûr, les personnages | ||
+ | |||
+ | ===== Rendu ===== | ||
+ | |||
+ | - un diagramme UML qui visualise uniquement les classes/ | ||
+ | * le diagramme vise à visualiser | ||
+ | * les attributs faisant référence à des classes/ | ||
+ | * pas de getter | ||
+ | * pas de classes non directement utilisées par exemple. | ||
+ | * les différents patterns apparaissent sous forme d' | ||
+ | * le diagramme peut être obtenu par reverse-engineering mais doit être adapté pour répondre aux points précédents. | ||
+ | - les codes sources des classes que vous avez créées ou modifiées exclusivement. | ||
+ | |||
+ | La date du rendu au plus tard : 6/12 à 23h45 | ||
+ | |||
+ | |||
+ | Sur [[http:// | ||
+ | |||
- | On aimerait à présent que la force d'une arme soit proportionnelle à la vitalité de l' |
2016_2017/s3/concprogobjet/td/td7.1478383830.txt.gz · Last modified: 2016/11/05 22:10 by blay