Skip to content
Snippets Groups Projects
Commit 44dd96ac authored by Gaste Adrien's avatar Gaste Adrien
Browse files
Conflicts:
	LaTex/Soutenance/Rapport_en_LaTeX/Soutenance.tex
parents 4d8c2a10 86de887a
No related branches found
No related tags found
No related merge requests found
File added
......@@ -71,6 +71,7 @@ huhu
\section{Implémentation du MCTS pour le Jeu du Pingouin}
\subsection{Le Plateau}
\begin{frame}
huhu
\end{frame}
......
\documentclass{article}
\documentclass[titlepage]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PACKAGES
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{graphicx} %images
\usepackage[hidelinks]{hyperref}
\usepackage[utf8]{inputenc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\textbf{Jeu des pingouins: documentation utilisateur}}
......@@ -15,42 +17,55 @@
\pagenumbering{gobble}
\maketitle
\newpage
\tableofcontents
\newpage
\pagenumbering{arabic}
\section{Introduction}
C'est un projet étudiant tiré d'un jeu déjà existant. Composé de deux parties: IA et GUI (c++ et javafx)
Le Jeu des Pingouins est un projet étudiant INSA de département Informatique, dans le cades des études pratiques de 1\iere année. Il est principalement composé de deux parties majeures : l'intelligence artificielle (en \emph{C++}) et l'interface graphique (en \emph{JavaFX}).
\subsection{Règles du jeu}
TODO NB: on ne gagne pas les points où il y a le dernier pingouin
\subsubsection{Matériel}
Le plateau de jeu est composé d'une grille de 60 tuiles hexagonales, représentant la banquise. Chaque tuile comporte un nombre de poissons compris entre 1 et 3. À 2 joueurs, chaque joueur possède 4 jetons de pingouins.
\subsubsection{Mise en place}
On crée le plateau de départ en répartissant les tuiles aléatoirement. Chaque joueur place ensuite ses pingouins tour à tour sur les cases "1 Poisson". Dans notre implémentation, le joueur choisit l'emplacement de ses 4 pingouins, puis de ceux de l'ordinateur.
\subsubsection{Objectif}
Avoir mangé plus de poissons que son adversaire.
\subsubsection{Actions}
Les joueurs jouent chacun leur tour. Pendant son tour, un joueur doit choisir un de ses pingouins, et le déplacer sur une des cases qui lui sont accessibles. Un pingouin peut se déplacer dans n'importe laquelle des 6 directions possibles, tant qu'il ne rencontre pas d'obstacle. Un obstacle peut être un autre pingouin ou une case vide. Quand le coup est joué, le joueur retire la case depuis laquelle le pingouin est parti, et gagne un nombre de points égal au nombre de poissons sur cette case. La case devient alors une case vide, et le tour se termine.
\subsubsection{À noter}
Dans les règles officielles, à la fin de la partie, chaque joueur gagne le nombre de points des tuiles finales sur lesquelles sont leurs pingouins. Pour des raisons d'implémentation, on ignorera cette règle.
\newpage
\section{Installation}
Le projet est dispo sous git, il faut le compiler à partir des sources.
Le projet est disponible sous Gitlab ; Sous Linux, il suffit de télécharger les sources et de les compiler.
\subsection{Dépendances}
\paragraph{IA} g++ sup ou égale 4.9
\paragraph{GUI} Java au moins 1.8 (javafx) et si on execute dans une IDE, niveau de langage au moins 8 (nécessité d'avoir lambda). Le jar json doit être dans le java build path.
\paragraph{IA} Une version de g++ 4.9 minimum est nécessaire.
\subsection{Compilation et lancement}
Allocator.hpp + executer et regarder la ram.
mcts.hpp pour changer le temps
à partir du dossier principal, make, vérifier qu'il y a theturk, le lancer pour voir la ram.
\paragraph{GUI} L'interface graphique utilisant JavaFX, une version de Java supérieure (ou égale) à 1.8 est nécessaire. Par ailleurs, si le jeu est lancé à partir d'un IDE, le niveau de langage doit être de 8 minimum (utilisation des \emph{lambdas}) et le jar JSON doit être dans le java build path.
Lancer gui/main/main.java. Faire gaffe au son.
\subsection{Compilation et lancement}
Pour compiler, exécuter la commande \emph{make}.
Modifier le fichier settings pour modifier la quantité de mémoire allouée et le temps de réflexion de l'IA.
Pour lancer le jeu, exécuter la commande \emph{make run}.
Attention au volume au lancement !
\section{Utilisation}
Quand on lance le main, interface graphique, on peut charger du json (il apparait tour par tour dans la console).
Au démarrage du programme une boite de dialogue propose de charger un état (formaté en JSON). Si l'état est invalide, ou laissé vide, le plateau de départ est généré aléatoirement. Le joueur peut alors placer successivement les 4 pingouins rouges, puis les 4 pingouins bleus en cliquant sur les cases. Le joueur choisit ensuite sa couleur, et le jeu démarre.
Si debut aléatoire: comment ajouter les pingouins.
À chaque tour, le joueur peut choisir un pingouin en cliquant dessus et le déplacer sur une des cases mises en relief. Il faut alors attendre que l'IA joue avant de continuer.
Pour jouer click pour selectionner et click pour bouger.
Il faut attendre que le pc joue.
À chaque coup joué, l'état apparaît dans la console. Il est possible de copier n'importe lequel de ces états et de le recharger en démarrant une partie.
\section{Contact}
Si vous trouvé des bugs, n'hesitez pas à ouvrir des issues sur gitlab
Si vous trouvez des bugs, n'hésitez pas à ouvrir des issues sur Gitlab
\end{document}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment