Question: Objectif acad mique : Manipuler les concepts orient s objet en C# . Objectif applicatif : D velopper une mini application de jeux de cartes.

Objectif acadmique : Manipuler les concepts orients objet en C#.
Objectif applicatif : Dvelopper une mini application de jeux de cartes.
Remise : Voir le portail des travaux
Le code source remis via Gitlab.
Aucun code source remis autrement ne sera accept!
Un document sur le portail des travaux contenant
Une page de prsentation du groupe.
Liste des concepts.
Un diagramme de classes.
Le lien vers la branche Gitlab du projet contenant le programme.
Sujet : Voir page suivante
Sujet :
Utiliser les concepts adquats ( class, struct, interface) pour implmenter un jeu de cartes de 52 Cartes.
Valeurs : As,2,3,4,5,6,7,8,9,10, Valet, Dame, Roi(Jack)
Couleurs : Trfle, Carreau, Cur, Pique.
Une carte une valeur et une couleur qui vont dterminer son nom
Exemples de cartes : As de Trfle, Roi de Pique...
Un jeu complet appel Paire de Cartes (Toutes les combinaisons simples possibles) contient 52
cartes.
Nous voulons prsent faire une partie de Pche| Pioche(un jeu de cartes).
Une partie peut se faire avec 2,3 ou 4 joueurs.
Les joueurs sont des personnes avec nom et prnom et un identifiant unique.
Chaque joueur une main qui peut contenir 8 cartes au plus.
Pour dmarrer une partie, il faudra distribuer le mme nombre de cartes (8) alatoirement chaque
joueur. Le reste des cartes est dpos sur la pile de cartes appele pioches de la table de jeu.
Quand la partie dmarre.
Un joueur est choisi alatoirement pour commencer la partie en posant une carte ouverte sur la
table, dans la pile nomme dpt .
Le joueur suivant doit dposer une carte de mme couleur ou de mme valeur sur la pile de
dpt.
dfaut, il devra piocher une carte sur la pile de pioche et son tour passe au prochain.
Ainsi de suite...
Quand la pile de pioches est finie, la pile de dpt(mlange) va tre rutilise comme pile de
pioches.
Quand un joueur termine ses cartes, il gagne la partie.
1- Implmentez tous les concepts du domaine et leurs types. (10%)
a. Carte : struct (OBLIGATOIREMENT)
b. Couleur : ?
c. Valeur : ?
d. Joueur : ?
e. Personne : ?
f. PaireDeCartes : ?
g. TableDeJeu : ?
h. JeuxDePche: ?
i. PileDePioche : ?
j. PileDeDept : ?
Vous devez dterminer si ces concepts OBLIGATOIRES sont des class ? interface ? struct ? enum.
2- Donner un diagramme de classes des concepts. (15%)
a. Liens
b. Types de liens
c. Quelques variables membres importantes.
Ne faire pas de rtro-ingnierie pour le diagramme de classe.
3- Implmenter la paire de 52 cartes (20%)
4- Implmenter le jeu de pche (20%)
a. Lancer et Logger (Console.WriteLine) une partie qui se joue avec 3 joueurs.
i. Distribuer les cartes alatoirement, et choisir le premier jouer.
A chaque tour de joueur : (utiliser le pattern observateur)
Afficher le joueur qui a jou, et la carte qu'il a joue
La dernire carte sur la pile de dpt.
ii. Signaler la fin de la pile de pioches.
iii. Signaler la fin du jeu et le vainqueur.
b. Retarder les traitements avec delay et await.
c. Le jeu doit se faire automatiquement (pour faciliter la correction)
5- Sachant que l'as compte pour 11 points, valet, dame et roi comptent pour 2 points et que les
autres cartes comptent pour leur valeurs faciales (7->7 points, 3->3points...etc.)(20%)
a. Calculer le bilan de chaque joueur la fin de la partie. (quand un joueur termine)
b. Implmenter une stratgie qui permet tous les coups de minimiser le dcompte de
point la fin du jeu.
c. Quand un joueur n'A plus qu'une carte, l'ensemble des joueurs doivent tre notifier et
adapter leur stratgie.
d. Le 10 permet de changer l'orientation du flux de jeux.
e. Appliquer alatoirement cette stratgie a un joueur.
6- Architecture : 10
a. EVITER D'UTILISATION DES VARIABLES STATIQUES sauf pour les const
b. Utilisation du pattern Observateur au standard de C# (OBLIGATOIRE)
c.viter l'anti-pattern God-Class (une classe qui fait tout).
d. Distribuer les responsabilits aux classes
7-crire un code lisible 10%
a. Commentaires
b. Namespaces, Organisation.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!