User Tools

Site Tools


2018_2019:s3:concprogobjet:td:td7

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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] (current)
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 +
- +
  
2018_2019/s3/concprogobjet/td/td7.1543426648.txt.gz · Last modified: 2018/11/28 18:37 by blay