-
Notifications
You must be signed in to change notification settings - Fork 2
/
docfr.tex
84 lines (73 loc) · 2.82 KB
/
docfr.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{graphicx}
\pagestyle{fancy}
\lstset{language=bash}
\rhead[]{Projet de C++ : Sokochez}
\lhead[Projet de C++ : Sokochez]{}
\begin{document}
\title{Projet de C++ : Sokochez}
\date{}
\maketitle
\section{Introduction}
Dans le cadre de ce projet, nous avons réalisé une version multijoueur du jeu Sokoban qui consiste à ranger des caisses en les poussant. \\
\section{Fonctionnalités}
Les fonctionnalités que nous avons ajoutées sont les suivantes :
\begin{itemize}
\item Affichage de couleurs dépendant du type d'objet
\item Chargement du ou des niveaux depuis un ou plusieurs fichiers texte passés en argument
\item Détection du mode de jeu en fonction de la carte chargée
\item Affichage des règles en fonction du mode de jeu
\item Affichage du nom du niveau
\item Détection des niveaux erronés
\item Trois modes de jeu :
\begin{enumerate}
\item Les joueurs doivent se rencontrer
\item Les blocs A et B doivent être mis côte à côte
\item Le bloc A doit être mis à coté de la position a, le B à coté de b…
\end{enumerate}
\item Un menu permettant de :
\begin{enumerate}
\item Passer au niveau suivant
\item Recommencer le niveau
\item Quitter le jeu
\end{enumerate}
\item Mode non-canonique
\item Affichage de la solution utilisée en fin de niveau sous forme de chaîne de caractères
\item Affichage du nombre de coups effectués pour réussir le niveau.
\item Éditeur de niveaux comprenant :
\begin{enumerate}
\item Une jolie barre d'objets à placer
\item Une touche d'optimisation du niveau enlevant les bordures inutiles
\item Une touche de sauvegarde
\end{enumerate}
\end{itemize}
\section{Comment jouer}
Les niveaux sont de simples fichiers texte.
Pour charger un niveau, il faut le passer en argument au lancement du programme.
\begin{lstlisting}
./sokochez niveau.txt
\end{lstlisting}
Plusieurs niveaux peuvent être passés en arguments, ils seront lancés à la suite.
\begin{lstlisting}
./sokochez niveaux/*
./sokochez niveau1.txt niveau2.txt
\end{lstlisting}
Il faut ensuite lire les règles qui sont affichées au chargement du niveau.
Les touches de déplacement sont \emph{zqsd} pour le joueur 1 et \emph{oklm} pour le joueur 2.
La touche de menu est \emph{v}.
\section{Éditeur de niveaux}
Pour lancer l'éditeur de niveaux, utilisez l'argument \emph{-e}.
\begin{lstlisting}
./sokochez -e niveau1.txt
./sokochez -e niveau1.txt niveau2.txt
\end{lstlisting}
Cet éditeur permet de créer et modifier des niveaux adaptés au jeu.
\begin{center}
\includegraphics[width=200px,height=200px]{logo.png}
\end{center}
\end{document}.