From fd303801cc366aebe432237d964d0b10f45dbecd Mon Sep 17 00:00:00 2001 From: Dukantic Date: Thu, 9 Jan 2025 13:10:45 +0100 Subject: [PATCH] rapport --- maps/custom_1.txt | 20 ++++ maps/custom_2.txt | 20 ++++ rapport/html/display_8c.html | 19 ++-- ...f8faee5abaa49fb784df75266472278_cgraph.dot | 2 +- ...197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot | 13 +++ ...c264e6abc61064a8222b53822850cdd_cgraph.dot | 2 +- rapport/html/display_8h_source.html | 2 +- rapport/html/doxygen_crawl.html | 6 +- rapport/html/function_8c.html | 25 ++--- ...44a34e6a3547ce48d78b64a9a6b030f_cgraph.dot | 15 +++ ...10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot | 2 +- ...df2bc0c692d3397837706a6852ac36_icgraph.dot | 2 +- ...9b1fdde1684178393ffe6104ab615d_icgraph.dot | 2 +- rapport/html/function_8h_source.html | 8 +- rapport/html/globals.html | 4 +- rapport/html/globals_func.html | 4 +- rapport/html/index.html | 20 +++- rapport/html/search/all_1.js | 5 +- rapport/html/search/all_10.js | 4 + rapport/html/search/all_2.js | 8 +- rapport/html/search/all_6.js | 2 +- rapport/html/search/all_7.js | 2 +- rapport/html/search/all_8.js | 6 +- rapport/html/search/all_9.js | 3 +- rapport/html/search/all_a.js | 3 +- rapport/html/search/all_b.js | 3 +- rapport/html/search/all_c.js | 6 +- rapport/html/search/all_d.js | 8 +- rapport/html/search/all_e.js | 3 +- rapport/html/search/all_f.js | 2 +- rapport/html/search/functions_2.js | 2 +- rapport/html/search/functions_5.js | 2 +- rapport/html/search/pages_0.js | 2 +- rapport/html/search/searchdata.js | 4 +- rapport/latex/display_8c.tex | 2 +- rapport/latex/display_8c.tex.tmp | 6 +- ...f8faee5abaa49fb784df75266472278_cgraph.dot | 2 +- ...197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot | 13 +++ ...c264e6abc61064a8222b53822850cdd_cgraph.dot | 2 +- rapport/latex/display_8h_source.tex | 2 +- rapport/latex/function_8c.tex | 9 +- ...44a34e6a3547ce48d78b64a9a6b030f_cgraph.dot | 15 +++ ...10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot | 2 +- ...df2bc0c692d3397837706a6852ac36_icgraph.dot | 2 +- ...9b1fdde1684178393ffe6104ab615d_icgraph.dot | 2 +- rapport/latex/function_8h_source.tex | 8 +- rapport/latex/index.tex | 22 ++++- rapport/latex/refman.aux | 9 +- rapport/latex/refman.idx | 2 +- rapport/latex/refman.log | 89 +++++++++--------- rapport/latex/refman.pdf | Bin 152060 -> 153732 bytes rapport/latex/refman.toc | 4 +- rapport/main_page.md | 44 ++++++--- 53 files changed, 297 insertions(+), 169 deletions(-) create mode 100644 maps/custom_1.txt create mode 100644 maps/custom_2.txt create mode 100644 rapport/html/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot create mode 100644 rapport/html/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot create mode 100644 rapport/html/search/all_10.js create mode 100644 rapport/latex/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot create mode 100644 rapport/latex/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot diff --git a/maps/custom_1.txt b/maps/custom_1.txt new file mode 100644 index 0000000..019d8e7 --- /dev/null +++ b/maps/custom_1.txt @@ -0,0 +1,20 @@ +#################### +#P # +# # +# # +# # +# C # +# # +# I # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +#################### diff --git a/maps/custom_2.txt b/maps/custom_2.txt new file mode 100644 index 0000000..cc8bb47 --- /dev/null +++ b/maps/custom_2.txt @@ -0,0 +1,20 @@ +#################### +# C I # +# C P # +# C C # +# # +# C C # +# C # +# C I # +# C # +# # +# # +# C # +# C C # +# C # +# C # +# # +# C C # +# # +# C # +#################### diff --git a/rapport/html/display_8c.html b/rapport/html/display_8c.html index a109a22..faf090f 100644 --- a/rapport/html/display_8c.html +++ b/rapport/html/display_8c.html @@ -163,9 +163,9 @@ Fonctions void initSDL (dis *display_user)  Initialise SDL.
  -void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos, int size) - Cette fonction affiche l'image dans la fenetre de l'utilisateur.
-  +void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos, vect size) + Cette fonction affiche l'image dans la fenetre de l'utilisateur.
+  void displayTextSDL (dis *display_user, char *text, vect coor, vect size, int font_size)  Cette fonction affiche du texte dans la fenetre de l'utilisateur.
  @@ -214,8 +214,8 @@ Voici le graphe d'appel pour cette fonction : - -

◆ displayImage()

+ +

◆ displayImage()

@@ -238,7 +238,7 @@ Voici le graphe d'appel pour cette fonction :
- int size ) + vect size )
@@ -257,12 +257,7 @@ Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
-
- - - - - +
diff --git a/rapport/html/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot b/rapport/html/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot index 810778f..1a747d2 100644 --- a/rapport/html/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot +++ b/rapport/html/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot @@ -7,5 +7,5 @@ digraph "screenDisplayGameSDL" rankdir="LR"; Node1 [id="Node000001",label="screenDisplayGameSDL",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="La fonction affiche a l'aide de SDL la zone de jeu."]; Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a81a2b2da875550c614a407ec735ff9d9",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; } diff --git a/rapport/html/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot b/rapport/html/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot new file mode 100644 index 0000000..adbc925 --- /dev/null +++ b/rapport/html/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot @@ -0,0 +1,13 @@ +digraph "displayImage" +{ + // LATEX_PDF_SIZE + bgcolor="transparent"; + edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; + node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; + rankdir="RL"; + Node1 [id="Node000001",label="displayImage",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; + Node2 [id="Node000002",label="backgroundDisplay",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#adc264e6abc61064a8222b53822850cdd",tooltip="Afficher l'arriere plan."]; + Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; + Node3 [id="Node000003",label="screenDisplayGameSDL",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a4f8faee5abaa49fb784df75266472278",tooltip="La fonction affiche a l'aide de SDL la zone de jeu."]; +} diff --git a/rapport/html/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot b/rapport/html/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot index c9b72dd..0dec651 100644 --- a/rapport/html/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot +++ b/rapport/html/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot @@ -7,5 +7,5 @@ digraph "backgroundDisplay" rankdir="LR"; Node1 [id="Node000001",label="backgroundDisplay",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Afficher l'arriere plan."]; Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a81a2b2da875550c614a407ec735ff9d9",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; } diff --git a/rapport/html/display_8h_source.html b/rapport/html/display_8h_source.html index 1e2fa05..a4c8709 100644 --- a/rapport/html/display_8h_source.html +++ b/rapport/html/display_8h_source.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); });
11void screenDisplay (char **tab, int x, int y);
12int getMaxSize (dis display_user);
13void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos,
-
14 int size);
+
14 vect size);
15void initSDL (dis *display_user);
16void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size);
17void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *player_pos, int fov, vect direction);
diff --git a/rapport/html/doxygen_crawl.html b/rapport/html/doxygen_crawl.html index 1addb91..2752837 100644 --- a/rapport/html/doxygen_crawl.html +++ b/rapport/html/doxygen_crawl.html @@ -15,7 +15,7 @@ - + @@ -26,6 +26,7 @@ + @@ -39,12 +40,13 @@ - + + diff --git a/rapport/html/function_8c.html b/rapport/html/function_8c.html index 30aaf0c..404969b 100644 --- a/rapport/html/function_8c.html +++ b/rapport/html/function_8c.html @@ -168,9 +168,9 @@ Fonctions int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, int nbr_targets, dis *display_user, score *score_user, bool menu)  La fonction permet de faire la boucle de jeu et le menu.
  -int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, int nbr_targets, dis *display_user, score *score_user, int num_fichier) - La fonction permet de faire la boucle de l'éditeur.
-  +int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, dis *display_user, score *score_user, int num_fichier) + La fonction permet de faire la boucle de l'éditeur.
+  int titleScreen (dis *display_user)  La fonction permet d' afficher le title screen.
  @@ -202,9 +202,6 @@ int lengthVect ( unsigned int scoreCalculator (score *score_user, bool win)   - -unsigned int scoreCalculatorCyp (score *score_user, bool win) - 

Description détaillée

Ce fichier contient toute les fonction utile pour le jeu. Sauf pour l'affichage.

@@ -369,8 +366,8 @@ Voici le graphe des appelants de cette fonction :
- -

◆ inEditorLoop()

+ +

◆ inEditorLoop()

@@ -390,16 +387,6 @@ Voici le graphe des appelants de cette fonction :
vect * playerPos, - - - - vect * targets, - - - - - int nbr_targets, - @@ -436,7 +423,7 @@ Voici le graphe des appelants de cette fonction :
Voici le graphe d'appel pour cette fonction :
-
+
diff --git a/rapport/html/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot b/rapport/html/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot new file mode 100644 index 0000000..9027de7 --- /dev/null +++ b/rapport/html/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot @@ -0,0 +1,15 @@ +digraph "inEditorLoop" +{ + // LATEX_PDF_SIZE + bgcolor="transparent"; + edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; + node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; + rankdir="LR"; + Node1 [id="Node000001",label="inEditorLoop",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; + Node2 [id="Node000002",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; + Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; + Node3 [id="Node000003",label="canIGoDirection",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a76df2bc0c692d3397837706a6852ac36",tooltip="La fontction permet de savoir si le joueur peut ce deplacer dans une direction."]; + Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; + Node4 [id="Node000004",label="plusVect",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a5b10e69716d92eadf2ed0b3942cb9d4d",tooltip="La fonction fait une addition de vecteur, (x1+x2, y1+y2)."]; +} diff --git a/rapport/html/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot b/rapport/html/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot index cdecd9f..22543bc 100644 --- a/rapport/html/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot +++ b/rapport/html/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot @@ -13,7 +13,7 @@ digraph "plusVect" Node1 -> Node4 [id="edge3_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node4 [id="Node000004",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node4 -> Node5 [id="edge4_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node5 [id="Node000005",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node5 [id="Node000005",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node4 -> Node6 [id="edge5_Node000004_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node6 [id="Node000006",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/html/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot b/rapport/html/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot index 7ec31b3..0539e8a 100644 --- a/rapport/html/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot +++ b/rapport/html/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot @@ -9,7 +9,7 @@ digraph "canIGoDirection" Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node2 [id="Node000002",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node3 [id="Node000003",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node3 [id="Node000003",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node4 [id="Node000004",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/html/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot b/rapport/html/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot index 71bbb44..a2b1529 100644 --- a/rapport/html/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot +++ b/rapport/html/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot @@ -7,7 +7,7 @@ digraph "move" rankdir="RL"; Node1 [id="Node000001",label="move",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node2 [id="Node000002",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node3 [id="Node000003",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/html/function_8h_source.html b/rapport/html/function_8h_source.html index d9b4068..ff90124 100644 --- a/rapport/html/function_8h_source.html +++ b/rapport/html/function_8h_source.html @@ -155,11 +155,9 @@ $(function(){ initResizable(false); });
55void nullScore(score *player_score);
56void winOrLoseLoop(dis *display_user,score *score_user, bool win);
57unsigned int scoreCalculator(score *score_user, bool win);
-
58unsigned int scoreCalculatorCyp(score *score_user, bool win);
-
59int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
-
60 int nbr_targets, dis *display_user,score *score_user, int num_fichier);
-
61int titleScreen (dis *display_user);
-
62#endif // FONCTION_H
+
58int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, dis *display_user,score *score_user, int num_fichier);
+
59int titleScreen (dis *display_user);
+
60#endif // FONCTION_H
Definition function.h:29
Definition function.h:23
Definition function.h:37
diff --git a/rapport/html/globals.html b/rapport/html/globals.html index e8a4c8f..09d364a 100644 --- a/rapport/html/globals.html +++ b/rapport/html/globals.html @@ -91,13 +91,13 @@ $(function(){ initResizable(false); });
  • canIGoDirection() : function.c
  • countCustomMaps() : read.c
  • creatArea2D() : function.c
  • -
  • displayImage() : display.c
  • +
  • displayImage() : display.c
  • displayTextSDL() : display.c
  • fileToTab2D() : read.c
  • free2D() : function.c
  • generatorMenu() : read.c
  • getMaxSize() : display.c
  • -
  • inEditorLoop() : function.c
  • +
  • inEditorLoop() : function.c
  • inGameLoop() : function.c
  • initSDL() : display.c
  • islose() : function.c
  • diff --git a/rapport/html/globals_func.html b/rapport/html/globals_func.html index 071fb63..0675579 100644 --- a/rapport/html/globals_func.html +++ b/rapport/html/globals_func.html @@ -91,13 +91,13 @@ $(function(){ initResizable(false); });
  • canIGoDirection() : function.c
  • countCustomMaps() : read.c
  • creatArea2D() : function.c
  • -
  • displayImage() : display.c
  • +
  • displayImage() : display.c
  • displayTextSDL() : display.c
  • fileToTab2D() : read.c
  • free2D() : function.c
  • generatorMenu() : read.c
  • getMaxSize() : display.c
  • -
  • inEditorLoop() : function.c
  • +
  • inEditorLoop() : function.c
  • inGameLoop() : function.c
  • initSDL() : display.c
  • islose() : function.c
  • diff --git a/rapport/html/index.html b/rapport/html/index.html index a1f6b34..ef12336 100644 --- a/rapport/html/index.html +++ b/rapport/html/index.html @@ -5,7 +5,7 @@ -Sokoban: Main Test +Sokoban: Rapport @@ -85,13 +85,23 @@ $(function(){ initResizable(false); });
    -
    Main Test
    +
    Rapport

    -

    ewuewiewhf wef ewuewiewhf ewuewiewhfewf wefe:Lw

    -

    dewfewfewfew f ewuewiewhfewf fw ewuewiewhfewfewf f wf

    -
    +

    Nous avons choisi d'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.

    +

    +Décision de structure

    +

    Pour commencer on a pris comme structure pour la zone de jeu un tableau 2d de char. Nous avons pris des char car on sais qu'on a pas besoin de plus de possibilité de nombre que un octet. On a fais des define qui permet de definir quel nombre correspond à quel objet dans le jeux (joueur , caisse, mur, ...).

    +

    Nous avons ensuite créer une structure 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'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.

    +

    Pour finir on a fais uns structure dis qui est enfaite la structure possédant tout ce qu'il faut pour faire l'affichage SDL. En effet on a la window, le renderer, on a la taille de la window, la taille des boites ainsi que la taille du menu.

    +

    +Comment lancé le jeu ?

    +

    Il vous faut installer SDL2, SDL2 Mixer, SDL2 Image, SDL2 ttf, make, gcc.

    +
    make all
    +
    ./sokoban
    +
    diff --git a/rapport/html/search/all_1.js b/rapport/html/search/all_1.js index 0b0e5d2..62f1503 100644 --- a/rapport/html/search/all_1.js +++ b/rapport/html/search/all_1.js @@ -1,6 +1,7 @@ var searchData= [ ['canigodirection_0',['canIGoDirection',['../function_8c.html#a76df2bc0c692d3397837706a6852ac36',1,'function.c']]], - ['countcustommaps_1',['countCustomMaps',['../read_8c.html#a33f349fef5188584733f08c3a0eddbf2',1,'read.c']]], - ['creatarea2d_2',['creatArea2D',['../function_8c.html#a1d06514900b90ce163ebe2d5aefc16db',1,'function.c']]] + ['comment_20lancé_20le_20jeu_1',['Comment lancé le jeu ?',['../index.html#autotoc_md2',1,'']]], + ['countcustommaps_2',['countCustomMaps',['../read_8c.html#a33f349fef5188584733f08c3a0eddbf2',1,'read.c']]], + ['creatarea2d_3',['creatArea2D',['../function_8c.html#a1d06514900b90ce163ebe2d5aefc16db',1,'function.c']]] ]; diff --git a/rapport/html/search/all_10.js b/rapport/html/search/all_10.js new file mode 100644 index 0000000..94ca79d --- /dev/null +++ b/rapport/html/search/all_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['winorloseloop_0',['winOrLoseLoop',['../function_8c.html#a2dc9de2f6fd2bed3619d7ce8c1f05590',1,'function.c']]] +]; diff --git a/rapport/html/search/all_2.js b/rapport/html/search/all_2.js index 350ec99..f635976 100644 --- a/rapport/html/search/all_2.js +++ b/rapport/html/search/all_2.js @@ -1,6 +1,8 @@ var searchData= [ - ['display_2ec_0',['display.c',['../display_8c.html',1,'']]], - ['displayimage_1',['displayImage',['../display_8c.html#a81a2b2da875550c614a407ec735ff9d9',1,'display.c']]], - ['displaytextsdl_2',['displayTextSDL',['../display_8c.html#af8c0265ee608800f8daba2540c65c5b0',1,'display.c']]] + ['décision_20de_20structure_0',['Décision de structure',['../index.html#autotoc_md1',1,'']]], + ['de_20structure_1',['Décision de structure',['../index.html#autotoc_md1',1,'']]], + ['display_2ec_2',['display.c',['../display_8c.html',1,'']]], + ['displayimage_3',['displayImage',['../display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030',1,'display.c']]], + ['displaytextsdl_4',['displayTextSDL',['../display_8c.html#af8c0265ee608800f8daba2540c65c5b0',1,'display.c']]] ]; diff --git a/rapport/html/search/all_6.js b/rapport/html/search/all_6.js index aaf433c..b656b1c 100644 --- a/rapport/html/search/all_6.js +++ b/rapport/html/search/all_6.js @@ -1,6 +1,6 @@ var searchData= [ - ['ineditorloop_0',['inEditorLoop',['../function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7',1,'function.c']]], + ['ineditorloop_0',['inEditorLoop',['../function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f',1,'function.c']]], ['ingameloop_1',['inGameLoop',['../function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f',1,'function.c']]], ['initsdl_2',['initSDL',['../display_8c.html#a46638b64faa8239921eab8c3817847f4',1,'display.c']]], ['islose_3',['islose',['../function_8c.html#ac155bb183b0c26d19758d8d065baf14f',1,'function.c']]], diff --git a/rapport/html/search/all_7.js b/rapport/html/search/all_7.js index 6b5b0db..fc29644 100644 --- a/rapport/html/search/all_7.js +++ b/rapport/html/search/all_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['lengthvect_0',['lengthVect',['../function_8c.html#a74650c59d33ff53d62ca3a3f8f56a68c',1,'function.c']]] + ['jeu_0',['Comment lancé le jeu ?',['../index.html#autotoc_md2',1,'']]] ]; diff --git a/rapport/html/search/all_8.js b/rapport/html/search/all_8.js index 64b1ffe..5a5f342 100644 --- a/rapport/html/search/all_8.js +++ b/rapport/html/search/all_8.js @@ -1,6 +1,6 @@ var searchData= [ - ['main_20test_0',['Main Test',['../index.html',1,'']]], - ['main_2ec_1',['main.c',['../main_8c.html',1,'']]], - ['move_2',['move',['../function_8c.html#a9c9b1fdde1684178393ffe6104ab615d',1,'function.c']]] + ['lancé_20le_20jeu_0',['Comment lancé le jeu ?',['../index.html#autotoc_md2',1,'']]], + ['le_20jeu_1',['Comment lancé le jeu ?',['../index.html#autotoc_md2',1,'']]], + ['lengthvect_2',['lengthVect',['../function_8c.html#a74650c59d33ff53d62ca3a3f8f56a68c',1,'function.c']]] ]; diff --git a/rapport/html/search/all_9.js b/rapport/html/search/all_9.js index 9fd9e5b..f57f47a 100644 --- a/rapport/html/search/all_9.js +++ b/rapport/html/search/all_9.js @@ -1,4 +1,5 @@ var searchData= [ - ['nullscore_0',['nullScore',['../function_8c.html#a4a66f9d998c95fde67d6f89fef1fded5',1,'function.c']]] + ['main_2ec_0',['main.c',['../main_8c.html',1,'']]], + ['move_1',['move',['../function_8c.html#a9c9b1fdde1684178393ffe6104ab615d',1,'function.c']]] ]; diff --git a/rapport/html/search/all_a.js b/rapport/html/search/all_a.js index e682acc..9fd9e5b 100644 --- a/rapport/html/search/all_a.js +++ b/rapport/html/search/all_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['playaudio_0',['playAudio',['../display_8c.html#aef4e8ceef5eab0c4c5d664c3d6c96d51',1,'display.c']]], - ['plusvect_1',['plusVect',['../function_8c.html#a5b10e69716d92eadf2ed0b3942cb9d4d',1,'function.c']]] + ['nullscore_0',['nullScore',['../function_8c.html#a4a66f9d998c95fde67d6f89fef1fded5',1,'function.c']]] ]; diff --git a/rapport/html/search/all_b.js b/rapport/html/search/all_b.js index 3d35f41..e682acc 100644 --- a/rapport/html/search/all_b.js +++ b/rapport/html/search/all_b.js @@ -1,4 +1,5 @@ var searchData= [ - ['read_2ec_0',['read.c',['../read_8c.html',1,'']]] + ['playaudio_0',['playAudio',['../display_8c.html#aef4e8ceef5eab0c4c5d664c3d6c96d51',1,'display.c']]], + ['plusvect_1',['plusVect',['../function_8c.html#a5b10e69716d92eadf2ed0b3942cb9d4d',1,'function.c']]] ]; diff --git a/rapport/html/search/all_c.js b/rapport/html/search/all_c.js index 0cbdf04..e0c8ac7 100644 --- a/rapport/html/search/all_c.js +++ b/rapport/html/search/all_c.js @@ -1,7 +1,5 @@ var searchData= [ - ['save_5fgrid_5fto_5ffile_0',['save_grid_to_file',['../read_8c.html#a8f809f62f6622ef16b6dfe9081a124de',1,'read.c']]], - ['score_1',['Score',['../structScore.html',1,'']]], - ['screendisplay_2',['screenDisplay',['../display_8c.html#affba8627c7c6c768268f64fa670207e5',1,'display.c']]], - ['screendisplaygamesdl_3',['screenDisplayGameSDL',['../display_8c.html#a4f8faee5abaa49fb784df75266472278',1,'display.c']]] + ['rapport_0',['Rapport',['../index.html',1,'']]], + ['read_2ec_1',['read.c',['../read_8c.html',1,'']]] ]; diff --git a/rapport/html/search/all_d.js b/rapport/html/search/all_d.js index 178ecb1..aedeec5 100644 --- a/rapport/html/search/all_d.js +++ b/rapport/html/search/all_d.js @@ -1,6 +1,8 @@ var searchData= [ - ['test_0',['Main Test',['../index.html',1,'']]], - ['timetotext_1',['timeToText',['../function_8c.html#a51c9ba7a24383f1b20dcedfcb570aab5',1,'function.c']]], - ['titlescreen_2',['titleScreen',['../function_8c.html#ad3517d7c8da5b33a96d376d7b07911c1',1,'function.c']]] + ['save_5fgrid_5fto_5ffile_0',['save_grid_to_file',['../read_8c.html#a8f809f62f6622ef16b6dfe9081a124de',1,'read.c']]], + ['score_1',['Score',['../structScore.html',1,'']]], + ['screendisplay_2',['screenDisplay',['../display_8c.html#affba8627c7c6c768268f64fa670207e5',1,'display.c']]], + ['screendisplaygamesdl_3',['screenDisplayGameSDL',['../display_8c.html#a4f8faee5abaa49fb784df75266472278',1,'display.c']]], + ['structure_4',['Décision de structure',['../index.html#autotoc_md1',1,'']]] ]; diff --git a/rapport/html/search/all_e.js b/rapport/html/search/all_e.js index e5c87fe..142fcc8 100644 --- a/rapport/html/search/all_e.js +++ b/rapport/html/search/all_e.js @@ -1,4 +1,5 @@ var searchData= [ - ['vecteur_0',['Vecteur',['../structVecteur.html',1,'']]] + ['timetotext_0',['timeToText',['../function_8c.html#a51c9ba7a24383f1b20dcedfcb570aab5',1,'function.c']]], + ['titlescreen_1',['titleScreen',['../function_8c.html#ad3517d7c8da5b33a96d376d7b07911c1',1,'function.c']]] ]; diff --git a/rapport/html/search/all_f.js b/rapport/html/search/all_f.js index 94ca79d..e5c87fe 100644 --- a/rapport/html/search/all_f.js +++ b/rapport/html/search/all_f.js @@ -1,4 +1,4 @@ var searchData= [ - ['winorloseloop_0',['winOrLoseLoop',['../function_8c.html#a2dc9de2f6fd2bed3619d7ce8c1f05590',1,'function.c']]] + ['vecteur_0',['Vecteur',['../structVecteur.html',1,'']]] ]; diff --git a/rapport/html/search/functions_2.js b/rapport/html/search/functions_2.js index dca408e..bf8d34d 100644 --- a/rapport/html/search/functions_2.js +++ b/rapport/html/search/functions_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['displayimage_0',['displayImage',['../display_8c.html#a81a2b2da875550c614a407ec735ff9d9',1,'display.c']]], + ['displayimage_0',['displayImage',['../display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030',1,'display.c']]], ['displaytextsdl_1',['displayTextSDL',['../display_8c.html#af8c0265ee608800f8daba2540c65c5b0',1,'display.c']]] ]; diff --git a/rapport/html/search/functions_5.js b/rapport/html/search/functions_5.js index aaf433c..b656b1c 100644 --- a/rapport/html/search/functions_5.js +++ b/rapport/html/search/functions_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['ineditorloop_0',['inEditorLoop',['../function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7',1,'function.c']]], + ['ineditorloop_0',['inEditorLoop',['../function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f',1,'function.c']]], ['ingameloop_1',['inGameLoop',['../function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f',1,'function.c']]], ['initsdl_2',['initSDL',['../display_8c.html#a46638b64faa8239921eab8c3817847f4',1,'display.c']]], ['islose_3',['islose',['../function_8c.html#ac155bb183b0c26d19758d8d065baf14f',1,'function.c']]], diff --git a/rapport/html/search/pages_0.js b/rapport/html/search/pages_0.js index b9f9889..394f48d 100644 --- a/rapport/html/search/pages_0.js +++ b/rapport/html/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['main_20test_0',['Main Test',['../index.html',1,'']]] + ['rapport_0',['Rapport',['../index.html',1,'']]] ]; diff --git a/rapport/html/search/searchdata.js b/rapport/html/search/searchdata.js index 24d6639..81a492f 100644 --- a/rapport/html/search/searchdata.js +++ b/rapport/html/search/searchdata.js @@ -1,10 +1,10 @@ var indexSectionsWithContent = { - 0: "bcdefgilmnprstvw", + 0: "bcdefgijlmnprstvw", 1: "esv", 2: "dfmr", 3: "bcdfgilmnpstw", - 4: "mt" + 4: "r" }; var indexSectionNames = diff --git a/rapport/latex/display_8c.tex b/rapport/latex/display_8c.tex index 6d6aaea..31fa6e9 100644 --- a/rapport/latex/display_8c.tex +++ b/rapport/latex/display_8c.tex @@ -31,7 +31,7 @@ int \textbf{ get\+Max\+Size} (\textbf{ dis} display\+\_\+user) \begin{DoxyCompactList}\small\item\em Taille de l\textquotesingle{}ecrant carre en fonction de l\textquotesingle{}ecrant du joueur avec une marge. \end{DoxyCompactList}\item void \textbf{ init\+SDL} (\textbf{ dis} $\ast$display\+\_\+user) \begin{DoxyCompactList}\small\item\em Initialise SDL. \end{DoxyCompactList}\item -void \textbf{ display\+Image} (SDL\+\_\+\+Renderer $\ast$renderer, SDL\+\_\+\+Texture $\ast$texture, \textbf{ vect} pos, int size) +void \textbf{ display\+Image} (SDL\+\_\+\+Renderer $\ast$renderer, SDL\+\_\+\+Texture $\ast$texture, \textbf{ vect} pos, \textbf{ vect} size) \begin{DoxyCompactList}\small\item\em Cette fonction affiche l\textquotesingle{}image dans la fenetre de l\textquotesingle{}utilisateur. \end{DoxyCompactList}\item void \textbf{ display\+Text\+SDL} (\textbf{ dis} $\ast$display\+\_\+user, char $\ast$text, \textbf{ vect} coor, \textbf{ vect} size, int font\+\_\+size) \begin{DoxyCompactList}\small\item\em Cette fonction affiche du texte dans la fenetre de l\textquotesingle{}utilisateur. \end{DoxyCompactList}\item diff --git a/rapport/latex/display_8c.tex.tmp b/rapport/latex/display_8c.tex.tmp index 88482f9..058ca91 100644 --- a/rapport/latex/display_8c.tex.tmp +++ b/rapport/latex/display_8c.tex.tmp @@ -25,7 +25,7 @@ int \textbf{ get\+Max\+Size} (\textbf{ dis} display\+\_\+user) \begin{DoxyCompactList}\small\item\em Taille de l\textquotesingle{}ecrant carre en fonction de l\textquotesingle{}ecrant du joueur avec une marge. \end{DoxyCompactList}\item void \textbf{ init\+SDL} (\textbf{ dis} $\ast$display\+\_\+user) \begin{DoxyCompactList}\small\item\em Initialise SDL. \end{DoxyCompactList}\item -void \textbf{ display\+Image} (SDL\+\_\+\+Renderer $\ast$renderer, SDL\+\_\+\+Texture $\ast$texture, \textbf{ vect} pos, int size) +void \textbf{ display\+Image} (SDL\+\_\+\+Renderer $\ast$renderer, SDL\+\_\+\+Texture $\ast$texture, \textbf{ vect} pos, \textbf{ vect} size) \begin{DoxyCompactList}\small\item\em Cette fonction affiche l\textquotesingle{}image dans la fenetre de l\textquotesingle{}utilisateur. \end{DoxyCompactList}\item void \textbf{ display\+Text\+SDL} (\textbf{ dis} $\ast$display\+\_\+user, char $\ast$text, \textbf{ vect} coor, \textbf{ vect} size, int font\+\_\+size) \begin{DoxyCompactList}\small\item\em Cette fonction affiche du texte dans la fenetre de l\textquotesingle{}utilisateur. \end{DoxyCompactList}\item @@ -61,8 +61,8 @@ Voici le graphe d\textquotesingle{}appel pour cette fonction \+: \index{display.c@{display.c}!displayImage@{displayImage}} \index{displayImage@{displayImage}!display.c@{display.c}} \doxysubsubsection{displayImage()} -{\footnotesize\ttfamily \label{display_8c_a81a2b2da875550c614a407ec735ff9d9} -void display\+Image (\begin{DoxyParamCaption}\item[{SDL\+\_\+\+Renderer $\ast$}]{renderer}{, }\item[{SDL\+\_\+\+Texture $\ast$}]{texture}{, }\item[{\textbf{ vect}}]{pos}{, }\item[{int}]{size}{}\end{DoxyParamCaption})} +{\footnotesize\ttfamily \label{display_8c_a99197d28e48cdf3b5b6be89cdc3ce030} +void display\+Image (\begin{DoxyParamCaption}\item[{SDL\+\_\+\+Renderer $\ast$}]{renderer}{, }\item[{SDL\+\_\+\+Texture $\ast$}]{texture}{, }\item[{\textbf{ vect}}]{pos}{, }\item[{\textbf{ vect}}]{size}{}\end{DoxyParamCaption})} diff --git a/rapport/latex/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot b/rapport/latex/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot index 2c6c9bd..0252285 100644 --- a/rapport/latex/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot +++ b/rapport/latex/display_8c_a4f8faee5abaa49fb784df75266472278_cgraph.dot @@ -7,5 +7,5 @@ digraph "screenDisplayGameSDL" rankdir="LR"; Node1 [id="Node000001",label="screenDisplayGameSDL",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="La fonction affiche a l'aide de SDL la zone de jeu."]; Node1 -> Node2 [id="edge2_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a81a2b2da875550c614a407ec735ff9d9",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; } diff --git a/rapport/latex/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot b/rapport/latex/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot new file mode 100644 index 0000000..351c8d1 --- /dev/null +++ b/rapport/latex/display_8c_a99197d28e48cdf3b5b6be89cdc3ce030_icgraph.dot @@ -0,0 +1,13 @@ +digraph "displayImage" +{ + // LATEX_PDF_SIZE + bgcolor="transparent"; + edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; + node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; + rankdir="RL"; + Node1 [id="Node000001",label="displayImage",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node1 -> Node2 [id="edge3_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; + Node2 [id="Node000002",label="backgroundDisplay",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#adc264e6abc61064a8222b53822850cdd",tooltip="Afficher l'arriere plan."]; + Node1 -> Node3 [id="edge4_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; + Node3 [id="Node000003",label="screenDisplayGameSDL",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a4f8faee5abaa49fb784df75266472278",tooltip="La fonction affiche a l'aide de SDL la zone de jeu."]; +} diff --git a/rapport/latex/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot b/rapport/latex/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot index 5ecc579..5bc346c 100644 --- a/rapport/latex/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot +++ b/rapport/latex/display_8c_adc264e6abc61064a8222b53822850cdd_cgraph.dot @@ -7,5 +7,5 @@ digraph "backgroundDisplay" rankdir="LR"; Node1 [id="Node000001",label="backgroundDisplay",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Afficher l'arriere plan."]; Node1 -> Node2 [id="edge2_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a81a2b2da875550c614a407ec735ff9d9",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; + Node2 [id="Node000002",label="displayImage",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$display_8c.html#a99197d28e48cdf3b5b6be89cdc3ce030",tooltip="Cette fonction affiche l'image dans la fenetre de l'utilisateur."]; } diff --git a/rapport/latex/display_8h_source.tex b/rapport/latex/display_8h_source.tex index 49ea00f..88c9637 100644 --- a/rapport/latex/display_8h_source.tex +++ b/rapport/latex/display_8h_source.tex @@ -15,7 +15,7 @@ \DoxyCodeLine{00011\ \textcolor{keywordtype}{void}\ screenDisplay\ (\textcolor{keywordtype}{char}\ **tab,\ \textcolor{keywordtype}{int}\ x,\ \textcolor{keywordtype}{int}\ y);} \DoxyCodeLine{00012\ \textcolor{keywordtype}{int}\ getMaxSize\ (dis\ display\_user);} \DoxyCodeLine{00013\ \textcolor{keywordtype}{void}\ displayImage\ (SDL\_Renderer\ *renderer,\ SDL\_Texture\ *texture,\ vect\ pos,} -\DoxyCodeLine{00014\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ size);} +\DoxyCodeLine{00014\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ vect\ size);} \DoxyCodeLine{00015\ \textcolor{keywordtype}{void}\ initSDL\ (dis\ *display\_user);} \DoxyCodeLine{00016\ \textcolor{keywordtype}{void}\ displayTextSDL(dis\ *display\_user,\textcolor{keywordtype}{char}\ *text,\ vect\ coor,\ vect\ size,\ \textcolor{keywordtype}{int}\ font\_size);} \DoxyCodeLine{00017\ \textcolor{keywordtype}{void}\ screenDisplayGameSDL\ (\textcolor{keywordtype}{char}\ **tab,vect\ dim\_tab,\ dis\ *display\_user,\ vect\ *player\_pos,\ \textcolor{keywordtype}{int}\ fov,\ vect\ direction);} diff --git a/rapport/latex/function_8c.tex b/rapport/latex/function_8c.tex index 285d70d..93be316 100644 --- a/rapport/latex/function_8c.tex +++ b/rapport/latex/function_8c.tex @@ -29,7 +29,7 @@ int \textbf{ move} (char $\ast$$\ast$tab, \textbf{ vect} $\ast$player\+Pos, \tex \begin{DoxyCompactList}\small\item\em Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation. \end{DoxyCompactList}\item int \textbf{ in\+Game\+Loop} (char $\ast$$\ast$tab2d, \textbf{ vect} $\ast$dim\+\_\+tab, \textbf{ vect} $\ast$player\+Pos, \textbf{ vect} $\ast$targets, int nbr\+\_\+targets, \textbf{ dis} $\ast$display\+\_\+user, \textbf{ score} $\ast$score\+\_\+user, bool menu) \begin{DoxyCompactList}\small\item\em La fonction permet de faire la boucle de jeu et le menu. \end{DoxyCompactList}\item -int \textbf{ in\+Editor\+Loop} (char $\ast$$\ast$tab2d, \textbf{ vect} $\ast$dim\+\_\+tab, \textbf{ vect} $\ast$player\+Pos, \textbf{ vect} $\ast$targets, int nbr\+\_\+targets, \textbf{ dis} $\ast$display\+\_\+user, \textbf{ score} $\ast$score\+\_\+user, int num\+\_\+fichier) +int \textbf{ in\+Editor\+Loop} (char $\ast$$\ast$tab2d, \textbf{ vect} $\ast$dim\+\_\+tab, \textbf{ vect} $\ast$player\+Pos, \textbf{ dis} $\ast$display\+\_\+user, \textbf{ score} $\ast$score\+\_\+user, int num\+\_\+fichier) \begin{DoxyCompactList}\small\item\em La fonction permet de faire la boucle de l\textquotesingle{}éditeur. \end{DoxyCompactList}\item int \textbf{ title\+Screen} (\textbf{ dis} $\ast$display\+\_\+user) \begin{DoxyCompactList}\small\item\em La fonction permet d\textquotesingle{} afficher le title screen. \end{DoxyCompactList}\item @@ -52,9 +52,6 @@ void \textbf{ win\+Or\+Lose\+Loop} (\textbf{ dis} $\ast$display\+\_\+user, \text \begin{DoxyCompactList}\small\item\em Fonction de loop pour la win ou la lose. \end{DoxyCompactList}\item \label{function_8c_aeac9c46be252cd970406e3a2391b8e8c} unsigned int {\bfseries score\+Calculator} (\textbf{ score} $\ast$score\+\_\+user, bool win) -\item -\label{function_8c_acdbf299b1c7d8d708c4e7b014c43911a} -unsigned int {\bfseries score\+Calculator\+Cyp} (\textbf{ score} $\ast$score\+\_\+user, bool win) \end{DoxyCompactItemize} @@ -156,8 +153,8 @@ Void. \index{function.c@{function.c}!inEditorLoop@{inEditorLoop}} \index{inEditorLoop@{inEditorLoop}!function.c@{function.c}} \doxysubsubsection{inEditorLoop()} -{\footnotesize\ttfamily \label{function_8c_aeba9362e7ee8b3d96352fd608b73a5c7} -int in\+Editor\+Loop (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{tab2d}{, }\item[{\textbf{ vect} $\ast$}]{dim\+\_\+tab}{, }\item[{\textbf{ vect} $\ast$}]{player\+Pos}{, }\item[{\textbf{ vect} $\ast$}]{targets}{, }\item[{int}]{nbr\+\_\+targets}{, }\item[{\textbf{ dis} $\ast$}]{display\+\_\+user}{, }\item[{\textbf{ score} $\ast$}]{score\+\_\+user}{, }\item[{int}]{num\+\_\+fichier}{}\end{DoxyParamCaption})} +{\footnotesize\ttfamily \label{function_8c_a244a34e6a3547ce48d78b64a9a6b030f} +int in\+Editor\+Loop (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{tab2d}{, }\item[{\textbf{ vect} $\ast$}]{dim\+\_\+tab}{, }\item[{\textbf{ vect} $\ast$}]{player\+Pos}{, }\item[{\textbf{ dis} $\ast$}]{display\+\_\+user}{, }\item[{\textbf{ score} $\ast$}]{score\+\_\+user}{, }\item[{int}]{num\+\_\+fichier}{}\end{DoxyParamCaption})} diff --git a/rapport/latex/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot b/rapport/latex/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot new file mode 100644 index 0000000..b1d70a0 --- /dev/null +++ b/rapport/latex/function_8c_a244a34e6a3547ce48d78b64a9a6b030f_cgraph.dot @@ -0,0 +1,15 @@ +digraph "inEditorLoop" +{ + // LATEX_PDF_SIZE + bgcolor="transparent"; + edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; + node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; + rankdir="LR"; + Node1 [id="Node000001",label="inEditorLoop",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node1 -> Node2 [id="edge4_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; + Node2 [id="Node000002",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; + Node2 -> Node3 [id="edge5_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; + Node3 [id="Node000003",label="canIGoDirection",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a76df2bc0c692d3397837706a6852ac36",tooltip="La fontction permet de savoir si le joueur peut ce deplacer dans une direction."]; + Node2 -> Node4 [id="edge6_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; + Node4 [id="Node000004",label="plusVect",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a5b10e69716d92eadf2ed0b3942cb9d4d",tooltip="La fonction fait une addition de vecteur, (x1+x2, y1+y2)."]; +} diff --git a/rapport/latex/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot b/rapport/latex/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot index 634577b..69686b0 100644 --- a/rapport/latex/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot +++ b/rapport/latex/function_8c_a5b10e69716d92eadf2ed0b3942cb9d4d_icgraph.dot @@ -13,7 +13,7 @@ digraph "plusVect" Node1 -> Node4 [id="edge8_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node4 [id="Node000004",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node4 -> Node5 [id="edge9_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node5 [id="Node000005",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node5 [id="Node000005",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node4 -> Node6 [id="edge10_Node000004_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node6 [id="Node000006",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/latex/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot b/rapport/latex/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot index 865f12e..bd9416f 100644 --- a/rapport/latex/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot +++ b/rapport/latex/function_8c_a76df2bc0c692d3397837706a6852ac36_icgraph.dot @@ -9,7 +9,7 @@ digraph "canIGoDirection" Node1 -> Node2 [id="edge4_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node2 [id="Node000002",label="move",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a9c9b1fdde1684178393ffe6104ab615d",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node2 -> Node3 [id="edge5_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node3 [id="Node000003",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node3 [id="Node000003",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node2 -> Node4 [id="edge6_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node4 [id="Node000004",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/latex/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot b/rapport/latex/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot index e532f97..42cc81c 100644 --- a/rapport/latex/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot +++ b/rapport/latex/function_8c_a9c9b1fdde1684178393ffe6104ab615d_icgraph.dot @@ -7,7 +7,7 @@ digraph "move" rankdir="RL"; Node1 [id="Node000001",label="move",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation."]; Node1 -> Node2 [id="edge3_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; - Node2 [id="Node000002",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#aeba9362e7ee8b3d96352fd608b73a5c7",tooltip="La fonction permet de faire la boucle de l'éditeur."]; + Node2 [id="Node000002",label="inEditorLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a244a34e6a3547ce48d78b64a9a6b030f",tooltip="La fonction permet de faire la boucle de l'éditeur."]; Node1 -> Node3 [id="edge4_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; Node3 [id="Node000003",label="inGameLoop",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$function_8c.html#a7f8e67bce9078c159778bbe2f57e9d2f",tooltip="La fonction permet de faire la boucle de jeu et le menu."]; } diff --git a/rapport/latex/function_8h_source.tex b/rapport/latex/function_8h_source.tex index cfbf431..c4b544d 100644 --- a/rapport/latex/function_8h_source.tex +++ b/rapport/latex/function_8h_source.tex @@ -59,10 +59,8 @@ \DoxyCodeLine{00055\ \textcolor{keywordtype}{void}\ nullScore(score\ *player\_score);} \DoxyCodeLine{00056\ \textcolor{keywordtype}{void}\ winOrLoseLoop(dis\ *display\_user,score\ *score\_user,\ \textcolor{keywordtype}{bool}\ win);} \DoxyCodeLine{00057\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ scoreCalculator(score\ *score\_user,\ \textcolor{keywordtype}{bool}\ win);} -\DoxyCodeLine{00058\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ scoreCalculatorCyp(score\ *score\_user,\ \textcolor{keywordtype}{bool}\ win);} -\DoxyCodeLine{00059\ \textcolor{keywordtype}{int}\ inEditorLoop\ (\textcolor{keywordtype}{char}\ **tab2d,\ vect\ *dim\_tab,\ vect\ *playerPos,\ vect\ *targets,} -\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ nbr\_targets,\ dis\ *display\_user,score\ *score\_user,\ \textcolor{keywordtype}{int}\ num\_fichier);} -\DoxyCodeLine{00061\ \textcolor{keywordtype}{int}\ titleScreen\ (dis\ *display\_user);} -\DoxyCodeLine{00062\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ FONCTION\_H}} +\DoxyCodeLine{00058\ \textcolor{keywordtype}{int}\ inEditorLoop\ (\textcolor{keywordtype}{char}\ **tab2d,\ vect\ *dim\_tab,\ vect\ *playerPos,\ dis\ *display\_user,score\ *score\_user,\ \textcolor{keywordtype}{int}\ num\_fichier);} +\DoxyCodeLine{00059\ \textcolor{keywordtype}{int}\ titleScreen\ (dis\ *display\_user);} +\DoxyCodeLine{00060\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ FONCTION\_H}} \end{DoxyCode} diff --git a/rapport/latex/index.tex b/rapport/latex/index.tex index 75f443f..8ec874c 100644 --- a/rapport/latex/index.tex +++ b/rapport/latex/index.tex @@ -1,8 +1,22 @@ -\chapter{Main Test} -\label{index}\index{Main Test@{Main Test}} +\chapter{Rapport} +\label{index}\index{Rapport@{Rapport}} \label{index_md_main__page}% -ewuewiewhf wef ewuewiewhf ewuewiewhfewf wefe\+:Lw +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, ...). -dewfewfewfew f ewuewiewhfewf fw ewuewiewhfewfewf f wf \ No newline at end of file +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. + +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} +Il vous faut installer SDL2, SDL2 Mixer, SDL2 Image, SDL2 ttf, make, gcc. + + +\begin{DoxyCode}{0} +\DoxyCodeLine{make\ all} +\DoxyCodeLine{./sokoban} + +\end{DoxyCode} + \ No newline at end of file diff --git a/rapport/latex/refman.aux b/rapport/latex/refman.aux index e6728b8..3fbaf37 100644 --- a/rapport/latex/refman.aux +++ b/rapport/latex/refman.aux @@ -4,11 +4,15 @@ \providecommand \oddpage@label [2]{} \@writefile{toc}{\@ifundefined {etoctocstyle}{\let \etoc@startlocaltoc \@gobble \let \etoc@settocdepth \@gobble \let \etoc@depthtag \@gobble \let \etoc@setlocaltop \@gobble }{}} \babel@aux{nil}{} -\@writefile{toc}{\contentsline {chapter}{\numberline {1}Main Test}{1}{}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {1}Rapport}{1}{}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@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 } +\newlabel{index_autotoc_md1}{{1.1}{1}{}{}{}} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}Comment lancé le jeu ?}{1}{}\protected@file@percent } +\newlabel{index_autotoc_md2}{{1.2}{1}{}{}{}} \@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@ }} @@ -59,7 +63,6 @@ \newlabel{function_8c}{{5.5}{12}{}{}{}} \newlabel{function_8c_a74650c59d33ff53d62ca3a3f8f56a68c}{{5.5}{12}{}{}{}} \newlabel{function_8c_aeac9c46be252cd970406e3a2391b8e8c}{{5.5}{12}{}{}{}} -\newlabel{function_8c_acdbf299b1c7d8d708c4e7b014c43911a}{{5.5}{12}{}{}{}} \gdef \LT@ii {\LT@entry {3}{49.54645pt}\LT@entry {3}{199.23586pt}} @@ -89,7 +92,7 @@ {3}{63.04623pt}\LT@entry {3}{275.48282pt}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2.5}inEditorLoop()}{15}{}\protected@file@percent } -\newlabel{function_8c_aeba9362e7ee8b3d96352fd608b73a5c7}{{5.5.2.5}{15}{}{}{}} +\newlabel{function_8c_a244a34e6a3547ce48d78b64a9a6b030f}{{5.5.2.5}{15}{}{}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2.6}inGameLoop()}{15}{}\protected@file@percent } \newlabel{function_8c_a7f8e67bce9078c159778bbe2f57e9d2f}{{5.5.2.6}{15}{}{}{}} \gdef \LT@viii {\LT@entry diff --git a/rapport/latex/refman.idx b/rapport/latex/refman.idx index 16c6813..eaf5883 100644 --- a/rapport/latex/refman.idx +++ b/rapport/latex/refman.idx @@ -1,4 +1,4 @@ -\indexentry{Main Test@{Main Test}}{1} +\indexentry{Rapport@{Rapport}}{1} \indexentry{essential\_sdl@{essential\_sdl}}{7} \indexentry{Score@{Score}}{7} \indexentry{Vecteur@{Vecteur}}{7} diff --git a/rapport/latex/refman.log b/rapport/latex/refman.log index 5dbc8aa..9555578 100644 --- a/rapport/latex/refman.log +++ b/rapport/latex/refman.log @@ -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) 8 JAN 2025 15:15 +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 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -766,17 +766,28 @@ LaTeX Font Info: Font shape `T1/phv/b/n' will be (Font) scaled to size 18.66588pt on input line 1. LaTeX Font Info: Font shape `T1/phv/b/n' will be (Font) scaled to size 22.39185pt on input line 1. -) [1 +LaTeX Font Info: Trying to load font information for TS1+phv on input line 6 +. +(/usr/share/texmf-dist/tex/latex/psnfss/ts1phv.fd +File: ts1phv.fd 2020/03/25 scalable font definitions for TS1/phv. +) +LaTeX Font Info: Font shape `TS1/phv/m/n' will be +(Font) scaled to size 8.99994pt on input line 6. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 12.9599pt on input line 6. +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 ] [2 ] Chapter 2. -(./annotated.tex -LaTeX Font Info: Font shape `T1/phv/b/n' will be -(Font) scaled to size 12.9599pt on input line 1. -) [3] [4 +(./annotated.tex) [3] [4 ] Chapter 3. @@ -784,34 +795,21 @@ Chapter 3. ] Chapter 4. -(./structessential__sdl.tex -LaTeX Font Info: Trying to load font information for TS1+phv on input line 6 -. - (/usr/share/texmf-dist/tex/latex/psnfss/ts1phv.fd -File: ts1phv.fd 2020/03/25 scalable font definitions for TS1/phv. -) -LaTeX Font Info: Font shape `TS1/phv/m/n' will be -(Font) scaled to size 8.99994pt on input line 6. -) (./structScore.tex) (./structVecteur.tex) [7] [8 +(./structessential__sdl.tex) (./structScore.tex) (./structVecteur.tex) [7] +[8 ] Chapter 5. -(./display_8h_source.tex -LaTeX Font Info: Trying to load font information for T1+pcr on input line 4. - - (/usr/share/texmf-dist/tex/latex/psnfss/t1pcr.fd -File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. -)) -(./function_8h_source.tex [9]) (./read_8h_source.tex) (./display_8c.tex <./disp -lay_8c__incl.pdf> +(./display_8h_source.tex) (./function_8h_source.tex [9]) (./read_8h_source.tex) +(./display_8c.tex <./display_8c__incl.pdf> File: display_8c__incl.pdf Graphic file (type pdf) Package pdftex.def Info: display_8c__incl.pdf used on input line 20. (pdftex.def) Requested size: 350.0pt x 79.88802pt. - [10] LaTeX Font Info: Font shape `T1/phv/m/n' will be (Font) scaled to size 8.09995pt on input line 27. + [10] LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available (Font) Font shape `T1/phv/m/sl' tried instead on input line 27. LaTeX Font Info: Font shape `T1/phv/m/sl' will be @@ -828,8 +826,9 @@ LaTeX Font Info: Font shape `T1/pcr/m/it' in size <8> not available (Font) Font shape `T1/pcr/m/sl' tried instead on input line 52. LaTeX Font Info: Font shape `T1/pcr/m/it' in size <7> not available (Font) Font shape `T1/pcr/m/sl' tried instead on input line 52. -) (./function_8c.tex [11] [12] -Underfull \hbox (badness 10000) detected at line 82 +) (./function_8c.tex [11] +[12] +Underfull \hbox (badness 10000) detected at line 79 [][][] [] @@ -840,35 +839,35 @@ File: function_8c_ac51249b2f7941ca06e6a614e071dd444_cgraph.pdf Graphic file (ty pe pdf) Package pdftex.def Info: function_8c_ac51249b2f7941ca06e6a614e071dd444_cgraph.p -df used on input line 89. +df used on input line 86. (pdftex.def) Requested size: 234.0pt x 135.99933pt. [13] -Underfull \hbox (badness 10000) detected at line 111 +Underfull \hbox (badness 10000) detected at line 108 [][][] [] -Underfull \hbox (badness 10000) detected at line 133 +Underfull \hbox (badness 10000) detected at line 130 [][][] [] -Underfull \hbox (badness 10000) detected at line 153 +Underfull \hbox (badness 10000) detected at line 150 [][][] [] [14] -Underfull \hbox (badness 10000) detected at line 185 +Underfull \hbox (badness 10000) detected at line 182 [][][] [] [15] -Underfull \hbox (badness 10000) detected at line 219 +Underfull \hbox (badness 10000) detected at line 216 [][][] [] -Underfull \hbox (badness 10000) detected at line 241 +Underfull \hbox (badness 10000) detected at line 238 [][][] [] @@ -879,35 +878,35 @@ File: function_8c_ac155bb183b0c26d19758d8d065baf14f_cgraph.pdf Graphic file (ty pe pdf) Package pdftex.def Info: function_8c_ac155bb183b0c26d19758d8d065baf14f_cgraph.p -df used on input line 248. +df used on input line 245. (pdftex.def) Requested size: 312.0pt x 136.00557pt. -Underfull \hbox (badness 10000) detected at line 270 +Underfull \hbox (badness 10000) detected at line 267 [][][] [] [16] -Underfull \hbox (badness 10000) detected at line 294 +Underfull \hbox (badness 10000) detected at line 291 [][][] [] -Underfull \hbox (badness 10000) detected at line 316 +Underfull \hbox (badness 10000) detected at line 313 [][][] [] -Underfull \hbox (badness 10000) detected at line 336 +Underfull \hbox (badness 10000) detected at line 333 [][][] [] [17] -Underfull \hbox (badness 10000) detected at line 356 +Underfull \hbox (badness 10000) detected at line 353 [][][] [] -Underfull \hbox (badness 10000) detected at line 376 +Underfull \hbox (badness 10000) detected at line 373 [][][] [] @@ -927,10 +926,10 @@ L3 programming layer <2024-02-20> *********** ) Here is how much of TeX's memory you used: - 12777 strings out of 476076 - 207335 string characters out of 5793776 - 1950187 words of memory out of 5000000 - 34595 multiletter control sequences out of 15000+600000 + 12778 strings out of 476076 + 207326 string characters out of 5793776 + 1949187 words of memory out of 5000000 + 34596 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 @@ -942,7 +941,7 @@ r/share/texmf-dist/fonts/type1/urw/courier/ucrro8a.pfb> -Output written on refman.pdf (26 pages, 152060 bytes). +Output written on refman.pdf (26 pages, 153732 bytes). PDF statistics: 167 PDF objects out of 1000 (max. 8388607) 105 compressed objects within 2 object streams diff --git a/rapport/latex/refman.pdf b/rapport/latex/refman.pdf index 7793901f0dfa670c78a7408b7d1ba5eb25a2dfa5..047a05d931b902e13cdf620d500ddcfcc8c88c28 100644 GIT binary patch delta 47329 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 Bk2wGU delta 45610 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