| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| cnam:utc503:td2-b [2024/09/12 01:15] – [Conception Objet] jcheron | cnam:utc503:td2-b [2024/09/12 08:25] (Version actuelle) – [Conception Objet] jcheron |
|---|
| ==== Conception Objet ==== | ==== Conception Objet ==== |
| |
| === Explication du diagramme === | Proposer une solution orientée objet pour l'évaluation des mains des joueurs. |
| | <html><!--</html> |
| <uml> | |
| @startuml | |
| @startuml | |
| interface VerificateurCouleur { | |
| +estCouleur() : boolean | |
| } | |
| | |
| interface VerificateurPaire { | |
| +aPaire() : boolean | |
| +aBrelan() : boolean | |
| +aCarre() : boolean | |
| } | |
| | |
| interface VerificateurSuite { | |
| +estSuite() : boolean | |
| } | |
| | |
| class Carte { | |
| +rang: String | |
| +couleur: String | |
| +getValeurRang() : int | |
| +toString() : String | |
| } | |
| | |
| abstract class Combinaison { | |
| -cartes: List[Carte] | |
| +Combinaison(cartes: List[Carte]) | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| +compareTo(other: Combinaison) : int | |
| } | |
| | |
| class Paire extends Combinaison implements VerificateurPaire { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class DoublePaire extends Combinaison implements VerificateurPaire { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class Brelan extends Combinaison implements VerificateurPaire { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class Suite extends Combinaison implements VerificateurSuite { | |
| +estSuite() : boolean | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class SuiteCouleur extends Suite implements VerificateurCouleur { | |
| +estCouleur() : boolean | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class QuinteFlushRoyale extends SuiteCouleur { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| +estQuinteFlushRoyale() : boolean | |
| } | |
| | |
| class Carre extends Combinaison implements VerificateurPaire { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class Full extends Combinaison implements VerificateurPaire { | |
| +estValide() : boolean | |
| +getValeurComparaison() : int | |
| } | |
| | |
| class EvaluateurDeCombinaison { | |
| +evaluer() : Combinaison | |
| +comparerMains(main1: Combinaison, main2: Combinaison) : int | |
| } | |
| | |
| | |
| @enduml | |
| </uml> | |
| |
| | === Orientation === |
| == Interfaces (ICouleur, IPaire, IQuinte) : == | == Interfaces (ICouleur, IPaire, IQuinte) : == |
| Définissent des méthodes pour vérifier des caractéristiques spécifiques des mains (flush, paires, suites). | Définissent des méthodes pour vérifier des caractéristiques spécifiques des mains (flush, paires, suites). |
| == Classe EvaluateurDeCombinaison : == | == Classe EvaluateurDeCombinaison : == |
| Évalue et compare les combinaisons pour déterminer la meilleure main. | Évalue et compare les combinaisons pour déterminer la meilleure main. |
| == Classe ComparateurDeCouleur : == | |
| Utilise l'interface ICouleur pour comparer les mains ayant une couleur (flush). | |
| |
| | <html>--></html> |