diff --git a/docs/rapports/rapport-final/figures/ball_1.png b/docs/rapports/rapport-final/figures/manuel-ball.png similarity index 100% rename from docs/rapports/rapport-final/figures/ball_1.png rename to docs/rapports/rapport-final/figures/manuel-ball.png diff --git a/docs/rapports/rapport-final/figures/block.png b/docs/rapports/rapport-final/figures/manuel-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block.png rename to docs/rapports/rapport-final/figures/manuel-block.png diff --git a/docs/rapports/rapport-final/figures/block_blue.png b/docs/rapports/rapport-final/figures/manuel-charge-neg.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_blue.png rename to docs/rapports/rapport-final/figures/manuel-charge-neg.png diff --git a/docs/rapports/rapport-final/figures/block_red.png b/docs/rapports/rapport-final/figures/manuel-charge-pos.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_red.png rename to docs/rapports/rapport-final/figures/manuel-charge-pos.png diff --git a/docs/rapports/rapport-final/figures/editeur.png b/docs/rapports/rapport-final/figures/manuel-editor.png similarity index 100% rename from docs/rapports/rapport-final/figures/editeur.png rename to docs/rapports/rapport-final/figures/manuel-editor.png diff --git a/docs/rapports/rapport-final/figures/block_end_2.png b/docs/rapports/rapport-final/figures/manuel-finish-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_end_2.png rename to docs/rapports/rapport-final/figures/manuel-finish-block.png diff --git a/docs/rapports/rapport-final/figures/block_gravity_south.png b/docs/rapports/rapport-final/figures/manuel-gravity-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_gravity_south.png rename to docs/rapports/rapport-final/figures/manuel-gravity-block.png diff --git a/docs/rapports/rapport-final/figures/block_dead.png b/docs/rapports/rapport-final/figures/manuel-kill-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_dead.png rename to docs/rapports/rapport-final/figures/manuel-kill-block.png diff --git a/docs/rapports/rapport-final/figures/menu_editeur.png b/docs/rapports/rapport-final/figures/manuel-menu-editeur.png similarity index 100% rename from docs/rapports/rapport-final/figures/menu_editeur.png rename to docs/rapports/rapport-final/figures/manuel-menu-editeur.png diff --git a/docs/rapports/rapport-final/figures/menu_jouer.png b/docs/rapports/rapport-final/figures/manuel-menu-jouer.png similarity index 100% rename from docs/rapports/rapport-final/figures/menu_jouer.png rename to docs/rapports/rapport-final/figures/manuel-menu-jouer.png diff --git a/docs/rapports/rapport-final/figures/Menu_principale.png b/docs/rapports/rapport-final/figures/manuel-menu-principal.png similarity index 100% rename from docs/rapports/rapport-final/figures/Menu_principale.png rename to docs/rapports/rapport-final/figures/manuel-menu-principal.png diff --git a/docs/rapports/rapport-final/figures/block_caisse.png b/docs/rapports/rapport-final/figures/manuel-movable-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_caisse.png rename to docs/rapports/rapport-final/figures/manuel-movable-block.png diff --git a/docs/rapports/rapport-final/figures/block_selection.png b/docs/rapports/rapport-final/figures/manuel-selected-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_selection.png rename to docs/rapports/rapport-final/figures/manuel-selected-block.png diff --git a/docs/rapports/rapport-final/figures/block_polarity.png b/docs/rapports/rapport-final/figures/manuel-switch-block.png similarity index 100% rename from docs/rapports/rapport-final/figures/block_polarity.png rename to docs/rapports/rapport-final/figures/manuel-switch-block.png diff --git a/docs/rapports/rapport-final/parts/manuel.tex b/docs/rapports/rapport-final/parts/manuel.tex index 14e11ce..e5f7315 100644 --- a/docs/rapports/rapport-final/parts/manuel.tex +++ b/docs/rapports/rapport-final/parts/manuel.tex @@ -1,191 +1,246 @@ \chapter{Manuel d'utilisation} -\subsection {Principe} +\section{Principe} + Deux joueurs doivent s'entraider pour faire avancer leur balle à travers des niveaux. Pour cela les joueurs exploitent différents mécanismes physiques. -\\ -Le jeu est constitué de niveaux, chaque niveau -étant représentés par une grille de blocs en deux dimensions. Les blocs interagissent -avec les balles et la physique du jeu comme défini dans les sections \ref{OB}. -\\ +Le jeu est constitué de niveaux, chaque niveau étant représenté par une +grille de blocs en deux dimensions. Les blocs interagissent avec les +balles et la physique du jeu. -Les joueurs valident un niveau en faisant parvenir leurs -balles sur un bloc d'arrivée. Ils terminent ainsi le niveau, le but étant de tous +Les joueurs valident un niveau en faisant parvenir les deux balles sur +un bloc d'arrivée. Ils terminent ainsi le niveau, le but étant de tous les achever. -\subsection {Menu de sélection} +\section{Menu du jeu} -\subsubsection{Menu principal} +\subsection{Menu principal} -Au lancement du jeu le menu principal apparait : +Au lancement du jeu le menu principal apparaît. La figure +\ref{fig:manuel-menu-principal} montre une copie d'écran du menu. +Le menu est composé de quatre boutons. - -\begin{figure} [h] - \centerline {\includegraphics[width=13cm]{figures/menu_principale.png}} - \caption {Menu principal} - \label {fig:MP} +\begin{figure}[h] + \centering + \includegraphics[width=13cm]{figures/manuel-menu-principal.png} + \caption{Menu principal} + \label{fig:manuel-menu-principal} \end{figure} -\noindent Ce menu [\ref{fig:MP}] se compose de quatre boutons:\\ -\begin {itemize} -\item \bf Le bouton jouer [\ref{fig:MJ}]\\ -\end {itemize} +\begin{description} +\item[Bouton jouer] + Il permet d'accéder au menu de sélection des niveaux. +\item[Bouton règles du jeu] + Il démarre la vue affichant les règles du jeu. +\item[Bouton éditeur] + Il permet d'accéder au menu permettant de créer un niveau + ou d'en éditer un existant. +\item[Bouton quitter] + Il quitte le jeu. +\end{description} -Il permet d'accéder au menu de sélection des niveaux +\subsection{Menu de sélection du niveau} +\begin{figure}[h] + \centering + \includegraphics[width=13cm]{figures/manuel-menu-jouer.png} + \caption{Menu de sélection du niveau} + \label{fig:manuel-menu-selection} +\end{figure} -%\item règles du jeu : affiche les règles du jeu. -%\item Éditeur : permet de crée un nouveau niveau ou de modifier un niveau existant. -%\item Quitter : permet de quitter le jeu.\\ +Le menu de sélection des niveaux, dont une copie d'écran est présentée +en figure \ref{fig:manuel-menu-selection}, se compose de deux types de boutons. +Les boutons niveaux permettent au joueur de choisir un niveau à jouer et +le bouton retour pour revenir vers le menu principal. -\newpage +\subsection{Menu de l'éditeur} \begin{figure} [!h] - \centerline {\includegraphics[width=13cm]{figures/menu_jouer.png}} - \caption {Menu jouer} - \label {fig:MJ} + \centering + \includegraphics[width=13cm]{figures/manuel-menu-editeur.png} + \caption{Menu de l'éditeur} + \label{fig:manuel-menu-editeur} \end{figure} -\noindent Ce menu [\ref{fig:MJ}] se compose de deux types de boutons : les boutons niveaux permettent aux joueurs de choisir un espace de jeu et -le bouton retour de revenir vers le menu principal [\ref{fig:MP}].\\ +Le menu de l'éditeur, dont une copie d'écan est présentée en figure +\ref{fig:manuel-menu-editeur}, se compose de trois types de boutons. +Créer un nouveau niveau pour démarrer la création d'un niveau à partir +de rien, éditer un niveau existant déjà, et retour qui renvoie vers +le menu principal. -\begin {itemize} -\item \bf Le bouton règles du jeu. -\end {itemize} +Dans les menus, les touches \fbox{$\uparrow$}, \fbox{$\downarrow$} ou +le passage de la souris sur un des boutons permettent de séléctionner un +élément du menu. Le bouton actuellement sélectionné est souligné. -Ce bouton affiche les règles du jeu. -\\ -\\ +La touche \fbox{Entrée} ou un clic avec la souris permettent de valider le choix. -\begin {itemize} -\item \bf Le bouton éditeur. -\end {itemize} +Les touches \fbox{$\longleftarrow$} et \fbox{Échap} permettent de revenir +au menu précédent. -Ce bouton permet de créer un nouveau niveau ou de modifier un niveau existant. +\section{Objets} +\newcommand{\objectsymbol}[1]{ + \includegraphics[width=23px]{figures/manuel-#1.png} +} -\newpage +\newcommand{\describeobject}[2]{ + \noindent + \begin{minipage}{.08\textwidth} + \objectsymbol{#1} + \end{minipage} + \begin{minipage}{.9\textwidth} + #2 + \end{minipage} +} -\begin{figure} [!h] - \centerline {\includegraphics[width=13cm]{figures/menu_editeur.png}} - \caption {Menu éditeur} - \label {fig:ME} -\end{figure} +Les niveaux se composent d'une collection d'objets qui +interagissent entre eux par les lois physiques ou par +l'action du joueur, selon les types d'entités. Nous +définissons dans cette section les comportements +des différents objets. +\subsection{Balles} -\noindent Ce menu [\ref{fig:ME}] se compose de trois types de boutons : Créer un nouveau niveau, éditer un niveau existant, - et retour qui renvoie vers le menu principal [\ref{fig:MP}].\\ - - - - -\noindent Les touches \Touche{$\uparrow$} , \Touche{$\downarrow$} ou -le passage de la souris sur un des boutons permettent la séléction d'un élément du menu. -le bouton sélectionné se souligne.\\ - -\noindent La touche \Touche{Enter} ou un clic avec la souris permettent de valider le choix.\\ - -\noindent Les touches \Touche{Backspace} et \Touche{Echap} permettent de revenir au menu précédent. \\ - -\subsection {Objets} - -\label {OB} - -\subsubsection{Balles} - -\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/ball_1.png}} Les balles sont controlées par les joueurs. \\ +\describeobject{ball}{ + Les balles sont des objets controlés par les joueurs. Chaque joueur + est affecté à une balle, identifiée de manière unique par son numéro. +} \subsubsection{Polarité} -\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_blue.png}} Les objets de couleurs bleus repoussent tous ceux de la même couleur et attirent les objets de couleurs rouges. \\ +\describeobject{charge-neg}{ + Les objets de couleur bleue repoussent tous ceux de la même couleur + et attirent les objets de couleur rouge. +} -\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_red.png}} Les objets de couleurs rouges repoussent tous ceux de la même couleur et attirent les objets de couleurs bleus. \\ +\describeobject{charge-pos}{ + Les objets de couleur rouge repoussent tous ceux de la même couleur + et attirent les objets de couleur bleue. +} \subsubsection{Blocs} -\noindent {\raisebox{-.4\height}{\includegraphics[width=23px]{figures/block.png}} Le bloc de base ne réalise aucune action particulière. \\ +\describeobject{block}{ + Le bloc de base ne réalise aucune action particulière, il sert + uniquement à délimiter des zones dans le niveau. +} -\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_caisse.png}} La caisse est un bloc qui peut être poussé. \\ +\describeobject{movable-block}{ + La caisse est un bloc qui peut être déplacé par les joueurs + ou une autre caisse. Elle active les blocs de gravité comme les joueurs. +} -\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_gravity_south.png}} Le bloc de gravité modifie le sens de la gravité lorsqu'un joueur ou une caisse rentre en collision avec lui. \\ +\describeobject{gravity-block}{ + Le bloc de gravité modifie le sens de la gravité du niveau lorsqu'un joueur + ou une caisse l'active en rentrant en collision avec lui. Ce bloc n'est + activable qu'une seule fois par partie. +} -\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_polarity.png}} Le bloc inverseur de polarité inverse la polarité de la balle qui rentre en collision avec lui. \\ +\describeobject{switch-block}{ + Le bloc inverseur inverse la charge des balles qui l'activent + en rentrant en collision avec lui. Ce bloc n'est activable qu'une + seule fois par partie. +} -\noindent \raisebox{-.4\height}{\includegraphics[width=23px]{figures/block_dead.png}} Le bloc de mort fait perdre la partie si un des deux joueurs rentrent en collision avec lui. \\ +\describeobject{kill-block}{ + Le bloc tueur fait perdre la partie si un des deux joueurs l'active en + rentrant en collision avec lui. +} -\noindent \raisebox{-.3\height}{\includegraphics[width=23px]{figures/block_end_2.png}} Le bloc d'arrivée fait gagner le joueur qui rentre en collision avec lui. \\ +\describeobject{finish-block}{ + Le bloc d'arrivée fait gagner la partie lorsque tous les joueurs + l'ont activé en rentrant en collision avec lui. +} +\section{Jeu} -\subsection {Jeux} +Les joueurs ne peuvent déplacer leurs balles que vers la gauche ou la droite. +Le joueur 1 utilise \fbox{$\rightarrow$} pour se déplacer vers la droite et +\fbox{$\leftarrow$} pour se déplacer vers la gauche. Le joueur 2 utilise +\fbox{D} pour se déplacer vers la droite et \fbox{Q} pour se déplacer +vers la gauche. -\label {joué} +Les joueurs peuvent mettre le jeu en pause avec la touche \fbox{Échap}, +ou bien quitter le niveau en appuyant sur \fbox{Espace}. -Les joueurs ne peuvent déplacer leurs balles que vers la gauche ou la droite.\\ -Le joueur 1 utilise \Touche{$\rightarrow$} pour se déplacer vers la droite et \Touche{$\leftarrow$} pour se déplacer vers la gauche.\\ -Le joueur 2 utilise \Touche{D} pour se déplacer vers la droite et \Touche{Q} pour se déplacer vers la gauche.\\ +Un joueur peut mourrir de deux façons~: soit en rentrant en collision avec +un bloc de mort, soit en sortant de la zone jouable. -Les joueurs peuvent mettre le jeu en pause avec la touche \Touche{Échap}, ou bien quitter le niveau en appuyant sur \Touche{Espace}. +\section{Éditeur} -Un joueur peut mourrir de deux façons; soit en rentrant en collision avec un bloc de mort \raisebox{-.4\height}{\includegraphics[width=15px]{figures/block_dead.png}} soit en sortant de la zone jouable.\\ -\\ +\subsection{Gestion des objets} -\subsection {Editeur} +La figure \ref{fig:manuel-editeur-example} montre un exemple de niveau +en édition dans l'éditeur. On peut sélectionner le type d'objet à placer +en cliquant à la souris dans la barre latérale droite. -\begin{figure} [!h] - \centerline {\includegraphics[width=13cm]{figures/editeur.png}} - \caption {Éditeur} - \label {fig:ED} +Un clic gauche sur une zone libre permet de placer le type d'objet +actuellement sélectionné. Le maintien du clic gauche en déplaçant la +souris permet de placer plusieurs objets à la fois. + +\begin{figure}[h] + \centering + \includegraphics[width=13cm]{figures/manuel-editor.png} + \caption{Exemple de niveau en cours d'édition dans l'éditeur} + \label{fig:manuel-editeur-example} \end{figure} -\subsubsection {Gestion des objets} +Pour modifier la charge d'un objet, le curseur doit être placé sur +celui-ci. La touche \fbox{Ctrl} doit être enfoncée tout en faisant +glisser la mollette de la souris, ou bien en faisant glisser deux +doigts sur le pavé tactile vers le haut ou le bas. L'objet change +de couleur en conséquence. -La séléction de l'objet s'éffectue dans la barre latérale droite de la fenêtre à l'aide de la souris. [\ref{fig:ED}] \\ -Un clic avec le bouton gauche de la souris permet de le placer sur un zone libre. -Le maintien du clic gauche permet de placer plusieurs objets à la fois.\\ +La sélection d'un objet se fait en cliquant sur celui-ci. Pour sélectionner +plusieurs objets, on maintient \fbox{Ctrl} et on clique sur les objets. +On peut effectuer une sélection rectangulaire en maintenant la touche +\fbox{Shift} et en faisant glisser la souris sur la zone à sélectionner, +en maintenant le clic gauche enfoncé. Lorsqu'un objet est sélectionné, sa +bordure devient rouge, comme montré dans la figure \ref{fig:manuel-selection}. -Pour modifier la polarité d'un objet, le curseur doit être placé sur celui-ci. La touche \Touche{Ctrl} doit être enfoncée tout en faisant glisser la mollette de la souris, ou bien en faisant glisser deux doigts sur le pavé tactile vers le haut ou le bas. \\ -\\ - -La selection d'un objet se fait avec la touche \Touche{Ctrl} et un clic sur celui-ci. Une multi-sélection peut être réalisée en cliquant sur plusieurs objets tout en maintenant la touche \Touche{Ctrl} enfoncée. \\ -La réalisation d'une sélection rectangulaire est possible en maintenant la touche \Touche{Shift} et en faisant glisser la souris avec le clic gauche enfoncé sur la zone à sélectionner. \\ -Un objet sélectionné a des bordures rouges. [\ref{fig:BBS}]\\ - -\begin{figure} [!h] - \centerline {\includegraphics[width=25px]{figures/block_selection.png}} - \caption {Bloc de base sélectionné} - \label {fig:BBS} +\begin{figure}[h] + \centering + \includegraphics[width=25px]{figures/manuel-selected-block.png} + \caption{Exemple d'objet sélectionné} + \label{fig:manuel-selection} \end{figure} -La suppression d'un objet s'effectue en cliquant dessus avec le bouton droit de la souris. -Plusieurs objets peuvent être supprimés aprés leurs séléctions en appuyant sur la touche \Touche{Suppr}. +La suppression d'un objet s'effectue en cliquant dessus avec le bouton +droit de la souris. Pour supprimer tous les objets actuellement sélectionnés, +il suffit d'appuyer sur la touche \fbox{Suppr}. +\subsection{Compte à rebours} -\subsubsection {Compte à rebours} +Le compte à rebours se situe en haut au centre de le fenêtre. Durant la partie, +s'il arrive à 0, les joueurs meurent et la partie est perdue. -Le compte à rebours se situe en haut au centre de le fenêtre. Durant la partie s'il arrive à 0, les joueurs meurent et la partie est perdue.\\ +La valeur du compte à rebours peut être modifiée dans l'éditeur en cliquant +sur les flèches se situant à coté, ou en glissant la molette en gardant la +souris sur le compteur. -La valeur du compte à rebours peut être modifiée dans l'éditeur en cliquant sur les fléches se situant à coté. -Il est également possible de placer la souris sur ce dernier en faisant glisser la mollette ou deux doigts sur le pavé tactile vers le haut ou le bas. \\ +\subsection{Zone de jeu} -\subsubsection {Zone de jeu} -La zone jouable est représentée dans l'éditeur par un polygone rouge [\ref{fig:ED}] composé de quatre points. - Chacun de ces points peuvent être déplacés en cliquant dessus afin de modifier la taille et la forme de la zone. +La zone jouable est représentée dans l'éditeur par un polygone +rouge composé de quatre points. Chacun de ces points peuvent être +déplacés en cliquant dessus afin de modifier la taille et la +forme de la zone. -\subsubsection {Gestion de la caméra} -Le déplacement de la caméra s'effectue en plaçant la souris vers une bordure de la fenêtre. -La molette de la souris peut être utilisée pour un défilement vertical ou horizontal si la touche \Touche{Shift} est enfoncée. -\\ +\subsection{Gestion de la caméra} -il es possible également de faire glisser deux doigts sur le pavé tactile afin de déplacer la caméra dans la direction désirée.\\ +Le déplacement de la caméra s'effectue en déplaçant la souris vers +une bordure de la fenêtre. La molette de la souris peut être utilisée +pour un défilement vertical, ou horizontal si la touche \fbox{Shift} +est enfoncée. -\subsubsection {Commandes générales} +\subsection{Commandes générales} -Il est possible de tester le niveau à tout moment en appuyant sur la touche \Touche{Espace}. -Pour revenir à l'édition il faut appuyer de nouveau sur \Touche{Espace}.\\ -\\ +Il est possible de tester le niveau à tout moment en appuyant sur la +touche \fbox{Espace}. Pour revenir à l'édition suffit d'appuyer à +nouveau sur \fbox{Espace}. -Afin de sauvegarder le niveau il est necessaire de réaliser la combinaison de touches suivantes : \Touche{Ctrl} + \Touche {S}. (en mode édition).\\ -\\ +Afin de sauvegarder le niveau il est nécessaire de réaliser la +combinaison de touches suivantes : \fbox{Ctrl} + \fbox{S}. (en mode édition). +Si vous ne sauvegardez pas vos changements, ils seront perdus. -Pour quitter l’éditeur et revenir au menu la touche \Touche{Échap} doit être utilisé. +Pour quitter l’éditeur et revenir au menu la touche \fbox{Échap} doit être utilisée. diff --git a/docs/rapports/rapport-final/rapport.pdf b/docs/rapports/rapport-final/rapport.pdf index 64852d0..7911978 100644 Binary files a/docs/rapports/rapport-final/rapport.pdf and b/docs/rapports/rapport-final/rapport.pdf differ diff --git a/docs/rapports/rapport-final/rapport.tex b/docs/rapports/rapport-final/rapport.tex index c529229..7d438cb 100644 --- a/docs/rapports/rapport-final/rapport.tex +++ b/docs/rapports/rapport-final/rapport.tex @@ -23,6 +23,7 @@ \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{geometry} +\usepackage{wrapfig} \usepackage[french]{babel} \usepackage{hyperref}