This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2018_2019:s3:concprogobjet:td:td7 [2018/11/28 18:37] blay [Partie 4] |
2018_2019:s3:concprogobjet:td:td7 [2019/01/25 10:29] blay [Rendu] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Design Patterns ====== | + | ====== Design Patterns en action ====== |
- | voici quelques exercices simples mettant en jeu deux DPs. | + | Voici quelques exercices simples mettant en jeu quelques DPs. |
+ | /* | ||
+ | <note warning>la semaine prochaine, vous devez prendre 2h avant chaque TD pour vous mettre en situation d'examen et faire l'examen de l'an dernier ou de l'année précédente. | ||
+ | |||
+ | |||
+ | * {{:2018_2019:s3:concprogobjet:examens3tcoo2018.pdf|Revision examen 2018 pour préparation à l'examen}}//(MBF,RL) // | ||
+ | * {{:2017_2018:s3:concprogobjet:examens3t.pdf|Revision examen 2017 pour préparation à l'examen}}//(MBF,RL) // | ||
+ | |||
+ | **RAPPEL : VOUS AVEZ DROIT A UNE PAGE A4 RECTO VERSO AU DS. | ||
+ | UTILISEZ LA EN REVISANT.** | ||
+ | </note> | ||
+ | */ | ||
===== Partie 1 ===== | ===== Partie 1 ===== | ||
Line 84: | Line 95: | ||
| | ||
8-o Les Personnages au début sont créés en fonction des classes d'armes prévues. Modifiez votre code pour ne plus dépendre de ces classes d'implémentation. | 8-o Les Personnages au début sont créés en fonction des classes d'armes prévues. Modifiez votre code pour ne plus dépendre de ces classes d'implémentation. | ||
+ | |||
+ | Question : 1) Est-ce que vous pouvez avoir une fabrique par Joueur? 2) Si une fabrique ne peut pas créer plus qu'un nombre donné d'épées, vous savez le gérer? | ||
===== Partie 3 ===== | ===== Partie 3 ===== | ||
Line 96: | Line 109: | ||
//De même pour la puissance protectrice.// | //De même pour la puissance protectrice.// | ||
+ | Attention, ceci n'est qu'un début dans le futur nous associerons aux groupes des véhicules (chars, ...) qui auront leur propre force. | ||
===== Partie 4 ===== | ===== Partie 4 ===== | ||
+ | Un personnage peut passer par différents états. | ||
+ | |||
+ | Il est vivant. Au début tous les personnages sont vivants. | ||
+ | Un personnage passe dans un état faible lorsqu'il n'a plus qu'une force de 25 points de vitalité. | ||
+ | Il est mort lorsque ses points de vitalité sont à 0. | ||
+ | |||
+ | Un personnage faible lorsqu'il est attaqué, voit sa force protectrice réduite de (1-1/points de vitalité). Ainsi si un personnage faible est attaqué il perdra : <force de l'arme de l'attaquant> - (<sa force protectrice> (1-1 / <sa propre vitalité> )) | ||
+ | |||
+ | |||
+ | |||
+ | Si le personnage est mort et qu'il est attaqué, il ne se passe rien. | ||
+ | |||
+ | exemple : | ||
+ | Personnage de vitalité 20 de protection 5 (il est donc faible) s'il est attaqué par une arme de force 10, il perdra : 10 - (5 *(1-5/20) donc 5,25. Ainsi plus il est faible plus il perd de points. | ||
+ | |||
+ | |||
+ | Extension : Un personnage peut passer dans un état invincible pour un temps donné. Dans ce cas, il ne perd aucun point de vitalité quand il est attaqué. | ||
+ | ===== Partie 5 facultative ===== | ||
On veut pouvoir créer des personnages et des groupes automatiquement, sans modifier les personnages définis précédemment. | On veut pouvoir créer des personnages et des groupes automatiquement, sans modifier les personnages définis précédemment. | ||
Un joueur a en début de partie 50 points, qu'il dépense en créant des personnages et/ou des groupes. | Un joueur a en début de partie 50 points, qu'il dépense en créant des personnages et/ou des groupes. | ||
Line 114: | Line 146: | ||
//Bien sûr, les personnages se déplacent, les groupes aussi, etc. mais ce sera pour une autre année.// | //Bien sûr, les personnages se déplacent, les groupes aussi, etc. mais ce sera pour une autre année.// | ||
- | ===== Rendu ===== | + | ===== Rendu ===== |
- un diagramme UML qui visualise uniquement les classes/interfaces dont votre code dépend directement. | - un diagramme UML qui visualise uniquement les classes/interfaces dont votre code dépend directement. | ||
* le diagramme vise à visualiser l'architecture de votre solution | * le diagramme vise à visualiser l'architecture de votre solution | ||
- | * les attributs faisant référence à des classes/interfaces sont uniquement représentés sous la forme d'associations (rôle, cardinalité, orientée) | ||
- | * pas de getter et setter | ||
- | * pas de classes non directement utilisées par exemple. | ||
* les différents patterns apparaissent sous forme d'annotations | * les différents patterns apparaissent sous forme d'annotations | ||
* le diagramme peut être obtenu par reverse-engineering mais doit être adapté pour répondre aux points précédents. | * 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. | - les codes sources des classes que vous avez créées ou modifiées exclusivement. | ||
+ | - la couverture de tests | ||
- | La date du rendu au plus tard : 6/12 à 23h45 | + | La date du rendu au plus tard lundi 17/12 à 12h pour les S3T et pour les S3A, le lundi 28 janvier à 9h : Sur [[http://jalon.unice.fr/cours/blay/Cours-blay-20150930110548/BoiteDepot-blay-20161122213044309075?mode_etudiant=false|Jalon]] avec comme nom pour l'archive : Gr <numeroGroupe> + Nom des étudiants dans le groupe |
- | + | ||
- | + | ||
- | Sur [[http://jalon.unice.fr/cours/blay/Cours-blay-20150930110548/BoiteDepot-blay-20161122213044309075?mode_etudiant=false|Jalon]] avec comme nom pour l'archive : Gr <numeroGroupe> + Nom des étudiants dans le groupe | + | |
- | + | ||