Skip to content
Snippets Groups Projects
Commit aadd4824 authored by Bariatti Francesco's avatar Bariatti Francesco
Browse files

UserDoc: corrections

parent b40993fa
No related branches found
No related tags found
No related merge requests found
\documentclass[titlepage]{article}
\documentclass[a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PACKAGES
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{graphicx} %images
\usepackage[hidelinks]{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\textbf{Jeu des pingouins: documentation utilisateur}}
\author{Francesco Bariatti \and Adrien Gasté \and Mikaël Le \and Romain Lebouc}
\title{\textbf{Jeu du Pingouin: documentation utilisateur}}
\author{Francesco Bariatti \and Adrien Gasté \and Mikaël Le \and Romain Lebouc \\ Encadrant: Pascal Garcia}
\date{2015-2016}
\begin{document}
\pagenumbering{gobble}
\maketitle
\tableofcontents
\newpage
\pagenumbering{arabic}
\section{Introduction}
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}).
Le Jeu du Pingouin est un projet étudiant INSA de département Informatique, dans le cadres des études pratiques de 3\ieme 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}
\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.
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.
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.
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'obstacles.
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.
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 disponible sous Gitlab ; Sous Linux, il suffit de télécharger les sources et de les compiler.
Le projet est disponible sous Gitlab à l'adresse \url{https://gitlab.insa-rennes.fr/francesco-bariatti/pingouins.git}; Sous Linux, il suffit de télécharger les sources et de les compiler.
\subsection{Dépendances}
......@@ -53,19 +60,26 @@ Le projet est disponible sous Gitlab ; Sous Linux, il suffit de télécharger le
\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.
\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 !
Modifier le fichier \verb|AI/src/mcts/MCTS_SETTINGS.hpp| pour changer la quantité de mémoire allouée et le temps de réflexion de l'IA.
Il faudra sûrement ajouter de la mémoire pour que le jeu puisse s’exécuter jusqu'à la fin: si la mémoire n'est pas suffisante un message d'erreur disant ``That's it! I ragequit!'' s'affiche et le jeu s'arrête. L'idéal est de tester en lançant une partie jusqu'au moment de réflexion du pc et lancer une commande \verb|free -h| pour visualiser la quantité de mémoire utilisée.
En général 1 ou 2 Go suffisent.
Pour compiler, exécuter la commande \verb|make|.
En cas d'erreur avec la version du compilateur g++ ou java, changer la valeur des variables en début du \verb|Makefile|.
Pour lancer le jeu, exécuter la commande \verb|make run|.
Attention au volume du son au lancement !
\section{Utilisation}
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.
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 par le tour des rouges.
À 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.
À 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 trouvez des bugs, n'hésitez pas à ouvrir des issues sur Gitlab
Si vous trouvez des bugs, n'hésitez pas à ouvrir des issues sur Gitlab (\url{https://gitlab.insa-rennes.fr/francesco-bariatti/pingouins.git})
\end{document}
\ No newline at end of file
\end{document}
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