zip + rapport
This commit is contained in:
@@ -3,14 +3,16 @@
|
||||
\label{index_md_main__page}%
|
||||
|
||||
|
||||
Nous avons choisi d\textquotesingle{}utiliser doxygen pour faire une documentation de notre code. Nous vous rendons donc notre rapport dans cette documentation, donc la majorité de ce pdf est en faite la documentation de notre code.\doxysection{Décision de structure}\label{index_autotoc_md1}
|
||||
Pour commencer on a pris comme structure pour la zone de jeu un tableau 2d de {\ttfamily char}. Nous avons pris des {\ttfamily char} car on sais qu\textquotesingle{}on a pas besoin de plus de possibilité de nombre que un octet. On a fais des {\ttfamily define} qui permet de definir quel nombre correspond à quel objet dans le jeux (joueur , caisse, mur, ...).
|
||||
Nous avons choisi d\textquotesingle{}utiliser doxygen pour faire une documentation de notre code. La majorité de ce pdf est la documentation de notre code.\doxysection{modélisation du jeu et décision de structure}\label{index_autotoc_md1}
|
||||
Nous sommes parti sur un tableau 2d de {\ttfamily char}afin de représenter notre plateau. Nous avons utiliser des {\ttfamily char} car on sait qu\textquotesingle{}on a pas besoin de plus de possibilité de nombre que un octet. On a fait des {\ttfamily define} qui permettent de definir quelles nombres correspondent à quel objet dans le jeu (joueur , caisse, mur, ...).
|
||||
|
||||
Nous avons ensuite créer une structure {\ttfamily coor} qui est une structure representant des coordonnées x et y. Cela est pratique pour naviger dans le tableau 2d par exemple.
|
||||
|
||||
On a fais une structure de score qui prend comme variable ce qu\textquotesingle{}il y a besoin pour calculer le score a la fin de la partie. Il y a le temps avant la partie et apres (pour obtenir le temps passer dans la partie), ensuite on a le nombre de déplacement fais par le joueur ainsi que les déplacement fais par les caisses.
|
||||
Nous utilisons une structure de score qui prend comme variable ce qu\textquotesingle{}il y a besoin pour calculer le score a la fin de la partie. Il y a le temps avant la partie et apres (pour obtenir le temps passer dans la partie), ensuite on a le nombre de déplacement fait par le joueur ainsi que les déplacement fait par les caisses.
|
||||
|
||||
Pour finir on a fais uns structure {\ttfamily dis} qui est enfaite la structure possédant tout ce qu\textquotesingle{}il faut pour faire l\textquotesingle{}affichage {\ttfamily SDL}. En effet on a la {\ttfamily window}, le {\ttfamily renderer}, on a la taille de la window, la taille des boites ainsi que la taille du menu.\doxysection{Comment lancé le jeu ?}\label{index_autotoc_md2}
|
||||
Pour finir on a fais uns structure {\ttfamily dis} qui est une structure possédant tout ce qu\textquotesingle{}il faut pour faire l\textquotesingle{}affichage {\ttfamily SDL}. En effet on a la {\ttfamily window}, le {\ttfamily renderer}, on a la taille de la fenêtre, la taille des boites ainsi que la taille du menu.
|
||||
|
||||
Nous avons fait en sorte que pour n\textquotesingle{}importe quel écran la fenêtre s\textquotesingle{}adapte à celle-\/ci.\doxysection{Comment lancer le jeu ?}\label{index_autotoc_md2}
|
||||
Il vous faut installer SDL2, SDL2 Mixer, SDL2 Image, SDL2 ttf, make, gcc.
|
||||
|
||||
|
||||
@@ -19,4 +21,31 @@ Il vous faut installer SDL2, SDL2 Mixer, SDL2 Image, SDL2 ttf, make, gcc.
|
||||
\DoxyCodeLine{./sokoban}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
\doxysection{Les contrôles\+:}\label{index_autotoc_md3}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item zqsd pour se déplacer
|
||||
\item échap pour sortir du niveau
|
||||
\item entrée pour sélectioner le niveau à jouer
|
||||
\end{DoxyItemize}\doxysection{Pour aller plus loin}\label{index_autotoc_md4}
|
||||
(1) Tout nos niveau sont stocké dans des fichier .txt dans le dossier map. Les fichier nommé original\+\_\+X sont au nombre de trois, et repésente des niveau que nous avons construit. Les fichier nommé custom\+\_\+X sont les niveau crée avec l\textquotesingle{}éditeur de niveau. Nous chargement donc les niveaux depuis leurs fichier texte, de cette manièrere nous pouvons assez simplement ajouter ou retirer des niveau.
|
||||
|
||||
(2) Nous avons fait un affichage de score en fin de niveau, qui prends en compte\+:
|
||||
\begin{DoxyItemize}
|
||||
\item le temps passé dans le niveau.
|
||||
\item le nombre de mouvements du personnage.
|
||||
\item le nombre de mouvements des caisses.
|
||||
\item la réussite du niveau.
|
||||
\end{DoxyItemize}
|
||||
|
||||
(3) Nous avons donc un affichage en temps réel du chronomètre, ainsi que le nombre de déplacement du joueur et le nombre de déplacement des caisses.
|
||||
|
||||
(4) Nous avons fait un menu dans lequel le joueur doit se déplacer sur un niveau, puis faire entré afin de lancer le niveau. Les niveau originaux sont imagé avec un escalier de couleur blanche tandis que les niveau crée avec l\textquotesingle{}éditeur sont imagé avec un escalier de couleur noir.
|
||||
|
||||
(5) La partie s\textquotesingle{}arrete automatiquement si le joueur ne peut plus gagner, dans ce cas il peut alors observer son score.
|
||||
|
||||
(+) L\textquotesingle{}éditeur de niveau\+: Nous avons créer un outil de création de niveau dans notre jeux, afin de créer des niveau plus rapidement. L\textquotesingle{}éditeur se trouve tout à droite du menu. Un fois rentrer dedans un fichier texte (custom\+\_\+\+X.\+txt) va etre créer. Dans cette éditeur vous pouvez déplacer le personnages avec z,q,s,d, vous pouvez également modifier le plateau en faisant soit un clic gauche (sur la case voulue) pour placer un objet suivant, ou vous pouvez faire un clic droit pour placer l\textquotesingle{}objet précedent. Enfin il vous suffira de faire échape ou fermer le programme afin de sauvegarder le niveau. Il apparaitra donc en tant que niveau custom dans le menu principal. Attention \+: une fois un niveau enregistrer il n\textquotesingle{}est plus possible de le modifier via le programme, il vous faudra aller dans le dossier maps et modifier à la main les charactère.
|
||||
|
||||
(+) nous avons ajouter aussi quelques effet visuel... (génération avec seed de la végétation au sol, différents sprites pour le personnage suivant la direction ou encore un menu des titres)
|
||||
|
||||
Bon jeu !
|
||||
@@ -9,10 +9,14 @@
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
\newlabel{index}{{1}{1}{}{}{}}
|
||||
\newlabel{index_md_main__page}{{1}{1}{}{}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Décision de structure}{1}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.1}modélisation du jeu et décision de structure}{1}{}\protected@file@percent }
|
||||
\newlabel{index_autotoc_md1}{{1.1}{1}{}{}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Comment lancé le jeu ?}{1}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Comment lancer le jeu ?}{1}{}\protected@file@percent }
|
||||
\newlabel{index_autotoc_md2}{{1.2}{1}{}{}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Les contrôles\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}:}{1}{}\protected@file@percent }
|
||||
\newlabel{index_autotoc_md3}{{1.3}{1}{}{}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Pour aller plus loin}{2}{}\protected@file@percent }
|
||||
\newlabel{index_autotoc_md4}{{1.4}{2}{}{}{}}
|
||||
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Index des structures de données}{3}{}\protected@file@percent }
|
||||
\@writefile{lof}{\addvspace {10\p@ }}
|
||||
\@writefile{lot}{\addvspace {10\p@ }}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2025.1.8) 9 JAN 2025 10:41
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2025.1.8) 9 JAN 2025 17:27
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
@@ -780,14 +780,14 @@ LaTeX Font Info: Trying to load font information for T1+pcr on input line 7.
|
||||
|
||||
(/usr/share/texmf-dist/tex/latex/psnfss/t1pcr.fd
|
||||
File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
|
||||
)) [1
|
||||
) [1
|
||||
|
||||
|
||||
] [2
|
||||
|
||||
]
|
||||
]) [2]
|
||||
Chapter 2.
|
||||
(./annotated.tex) [3] [4
|
||||
(./annotated.tex) [3
|
||||
|
||||
] [4
|
||||
|
||||
]
|
||||
Chapter 3.
|
||||
@@ -926,13 +926,13 @@ L3 programming layer <2024-02-20>
|
||||
***********
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
12778 strings out of 476076
|
||||
207326 string characters out of 5793776
|
||||
12783 strings out of 476076
|
||||
207457 string characters out of 5793776
|
||||
1949187 words of memory out of 5000000
|
||||
34596 multiletter control sequences out of 15000+600000
|
||||
34601 multiletter control sequences out of 15000+600000
|
||||
611649 words of font info for 105 fonts, out of 8000000 for 9000
|
||||
14 hyphenation exceptions out of 8191
|
||||
101i,16n,117p,656b,607s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
101i,16n,117p,985b,607s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/
|
||||
texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fon
|
||||
ts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texmf-dist/fonts/type1/urw/co
|
||||
@@ -941,7 +941,7 @@ r/share/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb></usr/share/texmf-dist/f
|
||||
onts/type1/urw/helvetic/uhvb8a.pfb></usr/share/texmf-dist/fonts/type1/urw/helve
|
||||
tic/uhvb8ac.pfb></usr/share/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></us
|
||||
r/share/texmf-dist/fonts/type1/urw/helvetic/uhvro8a.pfb>
|
||||
Output written on refman.pdf (26 pages, 153732 bytes).
|
||||
Output written on refman.pdf (26 pages, 156440 bytes).
|
||||
PDF statistics:
|
||||
167 PDF objects out of 1000 (max. 8388607)
|
||||
105 compressed objects within 2 object streams
|
||||
|
||||
Binary file not shown.
@@ -1,8 +1,10 @@
|
||||
\@ifundefined {etoctocstyle}{\let \etoc@startlocaltoc \@gobble \let \etoc@settocdepth \@gobble \let \etoc@depthtag \@gobble \let \etoc@setlocaltop \@gobble }{}
|
||||
\babel@toc {nil}{}\relax
|
||||
\contentsline {chapter}{\numberline {1}Rapport}{1}{}%
|
||||
\contentsline {section}{\numberline {1.1}Décision de structure}{1}{}%
|
||||
\contentsline {section}{\numberline {1.2}Comment lancé le jeu ?}{1}{}%
|
||||
\contentsline {section}{\numberline {1.1}modélisation du jeu et décision de structure}{1}{}%
|
||||
\contentsline {section}{\numberline {1.2}Comment lancer le jeu ?}{1}{}%
|
||||
\contentsline {section}{\numberline {1.3}Les contrôles\discretionary {\mbox {\scriptsize $\hookleftarrow $}}{}{}:}{1}{}%
|
||||
\contentsline {section}{\numberline {1.4}Pour aller plus loin}{2}{}%
|
||||
\contentsline {chapter}{\numberline {2}Index des structures de données}{3}{}%
|
||||
\contentsline {section}{\numberline {2.1}Structures de données}{3}{}%
|
||||
\contentsline {chapter}{\numberline {3}Index des fichiers}{5}{}%
|
||||
|
||||
Reference in New Issue
Block a user