From cf9c72baeab32d2ee92257076432cfeab8cf9270 Mon Sep 17 00:00:00 2001 From: Adrien Gaste <adrien.gaste@insa-rennes.fr> Date: Sat, 14 May 2016 22:35:58 +0200 Subject: [PATCH] Added image to LaTeX report, part Interface Graphique --- .../Rapport en LaTeX/Images/Interface.png.jpg | Bin 0 -> 43758 bytes .../Rapport en LaTeX/Rapport_style.tex | 17 +++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 LaTex/Rapport Final/Rapport en LaTeX/Images/Interface.png.jpg diff --git a/LaTex/Rapport Final/Rapport en LaTeX/Images/Interface.png.jpg b/LaTex/Rapport Final/Rapport en LaTeX/Images/Interface.png.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82c2dabb1a23ab82a8807a91a18f74ab35069336 GIT binary patch literal 43758 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 literal 0 HcmV?d00001 diff --git a/LaTex/Rapport Final/Rapport en LaTeX/Rapport_style.tex b/LaTex/Rapport Final/Rapport en LaTeX/Rapport_style.tex index 9ec367d..db5a853 100644 --- a/LaTex/Rapport Final/Rapport en LaTeX/Rapport_style.tex +++ b/LaTex/Rapport Final/Rapport en LaTeX/Rapport_style.tex @@ -66,12 +66,12 @@ Le jeu se termine lorsque aucun des pingouins ne peut se déplacer, et le joueur \begin{figure}[!h] \centering - \includegraphics[width=150px,height=150px]{./Images/Plateau_Pingouin.jpg} + \includegraphics[width=300px,height=300px]{./Images/Plateau_Pingouin.jpg} \caption{Plateau du Jeu du Pingouin} \label{Plateau} \end{figure} - +\newpage \subsection{L'algorithme Monte-Carlo Tree Search (MCTS)} Le \textit{Monte-Carlo Tree Search} est un algorithme de recherche de décision, utilisé dans les jeux tel que le Go ou encore Ms. Pacman. Son principe repose sur la simulation de plusieurs millions de parties qui permettent de construire progressivement un arbre et d'ensuite choisir le meilleur chemin pour le tour courant du joueur. @@ -105,9 +105,10 @@ L'algorithme à implémenter dans le programme est le MCTS. L'algorithme a déj C'est donc à nous de faire cette représentation de sorte à qu'elle respecte l'interface définie par Pascal GARCIA et qu'elle comporte des calculs rapides pour passer d'une étape à l'autre du jeu. \subsection{Création d'une interface graphique} Pour permettre de rendre l'application facile à utiliser, une interface graphique doit être programmée; les interactions Homme-Machine se font à la souris. Il n'y a pas de restriction sur la méthode utilisée. \\ -Il va de soi que l'interface graphique doit pouvoir lancer le jeu et communiquer les coups du joueur à l'IA et inversement. +Il va de soi que l'interface graphique doit pouvoir lancer le jeu et communiquer les coups du joueur à l'IA et inversement.\\ -\newpage + +%\newpage \section{Réalisation} A chaque séance, nous nous sommes généralement divisés en 2 équipes de 2 afin d'avancer plus rapidement le projet sur deux points différents. Lorsque nous avions l'occasion, nous rencontrions notre encadrant afin qu'il donne son avis ainsi que des conseils pour des problèmes que nous n'arrivions pas à résoudre. @@ -121,6 +122,7 @@ Cela nous a également permis d'apprendre à programmer en C++, langage qu'on ne Pascal GARCIA nous a conseillé de représenter la grille sous forme de \textit{bitboards\footnote{Une bitboard est juste un nombre entier classique, dans lequel chaque bit est interprété de façon particulière. Souvent chaque bit représente la présence, ou l'absence, d'un élément dans une case du plateau}} de 16 bits pour optimiser les calculs, l'un représentant les croix et l'autre les cercles. Les états gagnants étaient des \textit{bitboards}, définis dans le code comme des entiers. Lorsque l'un des \textit{bitboards} satisfaisait(selon certaines opérations bit à bit) un de ces états, la partie se terminait. +\newpage \subsection{Le Jeu du Pingouin} La deuxième étape du projet consiste à coder le Jeu du Pingouin de telle sorte que l'IA respecte les règles et comprenne la condition de victoire et que les calculs pour effectuer chaque coup soient rapides, pour que le MCTS puisse simuler énormement de parties dans le temps imparti. @@ -155,6 +157,13 @@ L'IA nécessite d'avoir le coups qu'on veut jouer exprimés comme numéro par ra Le choix du langage pour implémenter l'interface graphique est tombé vers un langage qu'on maîtrise mieux que le C++: le Java. elle est donc développée avec la bibliothèque \textit{javafx} qui permet d'avoir un modèle \textit{Modèle, Vue, Contrôleur} qui va faciliter la reprise dans le futur. \\ L'interface devait être facile à l'utilisation et "jolie". On n'avait pas de bases ni d'indications particulières, on a donc commencé de zéro pour cette partie. +\begin{figure}[!h] + \centering + \includegraphics[width=250px, height=250px]{./Images/Interface.png} + \caption{Interface graphique du Jeu du Pingouin} + \label{interface} +\end{figure} + \paragraph{Communication avec l'IA}Les deux programmes étant indépendant, il faut une façon pour que les données du jeu passent du programme en C++, qui gère le jeu et l'IA, à l'interface en Java. Pour ce faire on a décidé d'utiliser une représentation en \href{https://fr.wikipedia.org/wiki/JavaScript_Object_Notation}{JSON}, et de transmettre l'état entier du jeu après chaque coup. L'interface graphique fait le travail inverse de l'IA: elle convertit les différentes valeurs des \textit{bitboards} de l'état en tableaux et objets qui sont ensuite utilisés pour l'affichage. -- GitLab