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 dOthello Projet dAlgorithmique et Programmation.

Présentations similaires


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

1 Jeu dOthello Projet dAlgorithmique et Programmation

2 Introduction Jeu de plateau à deux joueurs : Noirs VS Blancs Othello (Marque déposée) / Reversi (Libre) Jeu de plateau à deux joueurs : Noirs VS Blancs Othello (Marque déposée) / Reversi (Libre) 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 – Boucle « coup » – Boucle « retournement » – Joueur IA 2.Réalisation et Bilan – Difficultés rencontrées – Bilan 1.Analyse du sujet et boucles – Boucle « coup » – Boucle « retournement » – 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 : Othellier + Infos de partie Boucle coup : chercher les coups possibles Boucle retournement : retourne les pions une fois le coup joué Mode IA : Plusieurs niveaux de difficultés Boucle principale : gère le jeu de façon générale Boucle affichage : Othellier + Infos de partie Boucle coup : chercher les coups possibles Boucle retournement : retourne les pions une fois le coup joué Mode IA : Plusieurs niveaux de difficultés

6 Partie 1 - Principe de la fonction « coup »

7 Partie 1 - Principe de la fonction « retournement »

8 Partie 1 - Le mode IA Maximisation : le mode facile -> Stratégie non recommandée pour gagner à lOthello car dangereux. -> Ne prends pas en compte le joueur humain… MiniMax : -> Voit plusieurs coups en avance, en prenant en compte le joueur adverse. Principe ici pour trois traits à lavance: 1.lordinateur essaye de maximiser ses gains 2.Le joueur humain minimise les gains de lIA 3.Lordinateur maximise à nouveau ses gains Maximisation : le mode facile -> Stratégie non recommandée pour gagner à lOthello car dangereux. -> Ne prends pas en compte le joueur humain… MiniMax : -> Voit plusieurs coups en avance, en prenant en compte le joueur adverse. Principe ici pour trois traits à lavance: 1.lordinateur essaye de maximiser ses gains 2.Le joueur humain minimise les gains de lIA 3.Lordinateur maximise à nouveau ses gains

9 Partie 1 - Le mode IA : le MiniMax Arguments : tableau de jeu, tableau de possibilités, joueur, profondeur Val1=-1000 Copie du tableau de jeu (ctabjeu) Copie du tableau de possibilités (ctabpossibl) Pour i de 0 à 7 Pour j de 0 à 7 Si case possible Retourne la case jouée sur ctabjeu On prend lautre joueur (simulation) On recherche les coups possibles Si prof <= L Val = minimax(ctabjeu, ctabpossibl, joueur, prof++) Si val > val1 Val1=val X=i Y=j Comparaison des tableaux de jeu Calcul des valeurs des cases retournées FIN -> Renvoie valeur, x, y Arguments : tableau de jeu, tableau de possibilités, joueur, profondeur Val1=-1000 Copie du tableau de jeu (ctabjeu) Copie du tableau de possibilités (ctabpossibl) Pour i de 0 à 7 Pour j de 0 à 7 Si case possible Retourne la case jouée sur ctabjeu On prend lautre joueur (simulation) On recherche les coups possibles Si prof <= L Val = minimax(ctabjeu, ctabpossibl, joueur, prof++) Si val > val1 Val1=val X=i Y=j Comparaison des tableaux de jeu Calcul des valeurs des cases retournées FIN -> Renvoie valeur, x, y

10 Partie 1 - Le mode IA : le MiniMax

11 Partie 2 : La réalisation et bilan

12 Partie 2 - Difficultés rencontrées 1.Othellier et représentation des tableaux Raison : manque de conditions 2.MiniMax (fonction joueur IA) Raison : Adaptation du code pas évidente 3.Périodes de « creux » Raison : Vacances de Noël, Projet Ouverture, partiels, etc. 1.Othellier et représentation des tableaux Raison : manque de conditions 2.MiniMax (fonction joueur IA) Raison : Adaptation du code pas évidente 3.Périodes de « creux » Raison : Vacances de Noël, Projet Ouverture, partiels, etc.

13 Partie 2 - Bilan du projet Analyse : OK Boucle Principale : OK Boucle Affichage : OK Boucle Coup : OK, mais a du être débuggée Boucle Retournement : OK, mais a du être débuggée IA Maximisation : OK Boucle MiniMax : En cours de tests Analyse : OK Boucle Principale : OK Boucle Affichage : OK Boucle Coup : OK, mais a du être débuggée Boucle Retournement : OK, mais a du être débuggée IA Maximisation : OK Boucle MiniMax : En cours de tests

14 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 à deux est très intéressant, nous avons appris à travailler à deux (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 à deux est très intéressant, nous avons appris à travailler à deux (points de vue différents) Beaucoup de plaisir à le coder, et à y jouer !!

15 Références et logiciels utilisés Références : Fédération Française dOthello http://www.ffothello.org Logiciels utilisés : Kate/Notepad++ pour la programmation GCC/MinGW pour la compilation MS Word 2007 pour le rapport MS Powerpoint 2007 pour cette présentation MS Project 2010 pour le planning prévisionnel The GIMP et MS Paint pour les images Références : Fédération Française dOthello http://www.ffothello.org Logiciels utilisés : Kate/Notepad++ pour la programmation GCC/MinGW pour la compilation MS Word 2007 pour le rapport MS Powerpoint 2007 pour cette présentation MS Project 2010 pour le planning prévisionnel The GIMP et MS Paint pour les images

16

17 Démonstration Lancer lexécutable du jeu Lancer lexécutable du jeu Ouvrir le dossier source du jeu Ouvrir le dossier source du jeu Invite de commande Invite de commande Rapport Final (Word) Rapport Final (Word) Rapport danalyse (Word) Rapport danalyse (Word) Démonstration : Rapports :


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

Présentations similaires


Annonces Google