La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Jeu de dames Projet dAlgorithmique et Programmation.

Présentations similaires


Présentation au sujet: "Jeu de dames Projet dAlgorithmique et Programmation."— Transcription de la présentation:

1 Jeu de dames Projet dAlgorithmique et Programmation

2 Introduction Jeu de plateau à deux joueurs : Noirs VS Blancs Appelé aussi checkers ou jeu de dames internationales. Règles imposées : Celles de la FFJD Jeu de plateau à deux joueurs : Noirs VS Blancs Appelé aussi checkers ou jeu de dames internationales. Règles imposées : Celles de la FFJD Objectifs : Appliquer nos connaissances en C et Algorithmique Mode humain VS humain et humain VS IA Objectifs : Appliquer nos connaissances en C et Algorithmique Mode humain VS humain et humain VS IA

3 Plan de cet exposé 1.Analyse du sujet et boucles – Structures de données – Boucle « recherche coup » – Boucle « joue rafle » – Joueur IA 2.Réalisation et Bilan – Difficultés rencontrées – Bilan 1.Analyse du sujet et boucles – Structures de données – Boucle « recherche coup » – Boucle « joue rafle » – Joueur IA 2.Réalisation et Bilan – Difficultés rencontrées – Bilan

4 Partie 1 : Analyse et boucles

5 Partie 1 - Analyse du sujet Boucle principale : gère le jeu de façon générale Boucle affichage : affiche le damier Boucle recherche coup : chercher les coups possibles Boucle joue rafle : joue la rafle et déplace le pion. Mode IA : Plusieurs niveaux de difficultés Boucle principale : gère le jeu de façon générale Boucle affichage : affiche le damier Boucle recherche coup : chercher les coups possibles Boucle joue rafle : joue la rafle et déplace le pion. Mode IA : Plusieurs niveaux de difficultés

6 Partie 1 – Structures de données

7 Partie 1 - Principe de la fonction « recherche coup »

8 Partie 1 - Principe de la fonction « joue rafle »

9 Partie 1 - Le mode IA 3 difficultés liées à la profondeur du MiniMax : – Difficulté 1 Profondeur = 3 – Difficulté 2 Profondeur = 5 – Difficulté 3 Profondeur = 7 MiniMax : -> Voit plusieurs coups en avance, en prenant en compte le joueur adverse. Principe ici pour trois rafles à lavance: 1.lordinateur essaye de maximiser ses gains 2.Le joueur humain minimise les gains de lIA 3.Lordinateur maximise à nouveau ses gains 3 difficultés liées à la profondeur du MiniMax : – Difficulté 1 Profondeur = 3 – Difficulté 2 Profondeur = 5 – Difficulté 3 Profondeur = 7 MiniMax : -> Voit plusieurs coups en avance, en prenant en compte le joueur adverse. Principe ici pour trois rafles à lavance: 1.lordinateur essaye de maximiser ses gains 2.Le joueur humain minimise les gains de lIA 3.Lordinateur maximise à nouveau ses gains

10 Partie 1 - Le mode IA : le MiniMax int minimax (damier, joueur, profondeur, Nœud N, coordonnées coord_sauvées) Val1=INT_MIN Si profondeur > 0 Si(nœud = MAX) Cherche des coups possibles de lIA Pour chaque coup possible Copie du tableau de jeu (copie_damier) LIA joue dans la case possible (rafle entière) val = minimax(copie_damier, joueur, profondeur -1, MIN) Si val > val1 Val1=val Coor_sauvées = Coord_actuelles Si(nœud = MIN) Cherche des coups possibles de lhumain Pour chaque coup possible Copie du tableau de jeu (copie_damier) LIA joue pour lhumain dans la case possible (rafle entière)) val = minimax(copie_damier, joueur, profondeur -1, MAX) Si val < val1 Val1=val Coor_sauvées = Coord_actuelles Else Return eval(damier) int minimax (damier, joueur, profondeur, Nœud N, coordonnées coord_sauvées) Val1=INT_MIN Si profondeur > 0 Si(nœud = MAX) Cherche des coups possibles de lIA Pour chaque coup possible Copie du tableau de jeu (copie_damier) LIA joue dans la case possible (rafle entière) val = minimax(copie_damier, joueur, profondeur -1, MIN) Si val > val1 Val1=val Coor_sauvées = Coord_actuelles Si(nœud = MIN) Cherche des coups possibles de lhumain Pour chaque coup possible Copie du tableau de jeu (copie_damier) LIA joue pour lhumain dans la case possible (rafle entière)) val = minimax(copie_damier, joueur, profondeur -1, MAX) Si val < val1 Val1=val Coor_sauvées = Coord_actuelles Else Return eval(damier)

11 Partie 1 - Le mode IA : évaluation pions

12 Partie 1 - Le mode IA : évaluation dames

13 Partie 1 - Le mode IA : évaluation nombre dames Pour tout le damier Si lIA a une dame score += 250 Si lhumain a une dame score -=300 Ceci permet déviter doffrir la possibilité à lhumain davoir des dames, tout en valorisant un plateau si lIA a des dames Pour tout le damier Si lIA a une dame score += 250 Si lhumain a une dame score -=300 Ceci permet déviter doffrir la possibilité à lhumain davoir des dames, tout en valorisant un plateau si lIA a des dames

14 Partie 2 : La réalisation et bilan

15 Partie 2 - Difficultés rencontrées 1.Listes & structures de données 2.Débogage 3.Activités extérieures (temps de « coupure ») 4.MiniMax 5.Cas dégalité 6.Dames 7.Niveau de programmation de chacun : groupe hétérogène 1.Listes & structures de données 2.Débogage 3.Activités extérieures (temps de « coupure ») 4.MiniMax 5.Cas dégalité 6.Dames 7.Niveau de programmation de chacun : groupe hétérogène

16 Partie 2 - Bilan du projet Analyse : OK Boucle Principale : OK Boucle Affichage : OK Boucle Recherche Coup : OK, mais a du être débuggée Boucle Joue rafle : OK, mais a du être débuggée Boucle MiniMax : En cours de tests Analyse : OK Boucle Principale : OK Boucle Affichage : OK Boucle Recherche Coup : OK, mais a du être débuggée Boucle Joue rafle : OK, mais a du être débuggée Boucle MiniMax : En cours de tests

17 Conclusion Applications de nos connaissances sur un cas complet et intéressant Jeu agréable et facile à comprendre que nous apprécions Non terminé : Le MiniMax reste à tester correctement Le travail à plusieurs est très intéressant, nous avons appris à travailler (points de vue différents) Beaucoup de plaisir à le coder, et à y jouer !! Applications de nos connaissances sur un cas complet et intéressant Jeu agréable et facile à comprendre que nous apprécions Non terminé : Le MiniMax reste à tester correctement Le travail à plusieurs est très intéressant, nous avons appris à travailler (points de vue différents) Beaucoup de plaisir à le coder, et à y jouer !!

18 Références et logiciels utilisés Références : Fédération Française dOthello Logiciels utilisés : Codeblocks/Notepad++ pour la programmation GCC via Cygwin/MinGW pour la compilation Microsoft Word 2013 pour le rapport Microsoft Powerpoint 2013 pour cette présentation Microsoft Visio Pro 2013 pour les schémas The GIMP et MS Paint pour les images Références : Fédération Française dOthello Logiciels utilisés : Codeblocks/Notepad++ pour la programmation GCC via Cygwin/MinGW pour la compilation Microsoft Word 2013 pour le rapport Microsoft Powerpoint 2013 pour cette présentation Microsoft Visio Pro 2013 pour les schémas The GIMP et MS Paint pour les images

19

20 Démonstration Ouvrir le dossier source du jeu Ouvrir le dossier source du jeu Invite de commande Invite de commande Rapport Final (PDF) Démonstration : Rapports :


Télécharger ppt "Jeu de dames Projet dAlgorithmique et Programmation."

Présentations similaires


Annonces Google