From b958ad5bf1a46ff15726693c36a6060556d16b21 Mon Sep 17 00:00:00 2001
From: Efe ERKEN <efe.erken@etu.unistra.fr>
Date: Tue, 8 Nov 2022 22:55:11 +0100
Subject: [PATCH] :bug: BUGFIX: Fix display functions

Fixed display function bugs.
---
 grid.c | 16 ++++++++++------
 grid.h |  6 +++---
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/grid.c b/grid.c
index e599ba3..e60ab8e 100644
--- a/grid.c
+++ b/grid.c
@@ -62,7 +62,7 @@ grid *init_level(const char *file_path)
     grid *level = creer_grid(number_row, number_column);
 
     int current_row = 0;
-    int current_goal = 0;
+    // int current_goal = 0;
     // On lit le fichier ligne par ligne jusqu'à la fin du fichier
     while (fgets(line, 100, file) != NULL)
     {
@@ -86,7 +86,7 @@ grid *init_level(const char *file_path)
     return level;
 }
 
-void display_stdio(grid *G) {
+void display(grid *G) {
     for (int row = 0; row < G->row_number; row++) {
         for (int column = 0; column < G->column_number; column++) {
             printf("%c", G->game_grid[row][column]);
@@ -95,9 +95,13 @@ void display_stdio(grid *G) {
     }
 }
 
-void display_ncurses(grid *G) {
+char display_ncurses(grid *G) {
     initscr();
-    printw("Appuyez sur \"q\" pour quitter\n\n");
+    clear();
+    noecho();
+    cbreak();
+    printw("Appuyez sur \"q\" pour quitter\n");
+    printw("Appuyez sur \"h, j, k, l\" pour vous déplacer\n\n");
     for (int row = 0; row < G->row_number; row++) {
         for (int column = 0; column < G->column_number; column++) {
             printw("%c", G->game_grid[row][column]);
@@ -106,9 +110,9 @@ void display_ncurses(grid *G) {
     }
     refresh();
     char quitCar = '\0';
-    noecho();
-    while (quitCar != 'q') {
+    while (quitCar != 'q' && quitCar != 'h' && quitCar != 'j' && quitCar != 'k' && quitCar != 'l') {
         quitCar = (char) getch();
     }
     endwin();
+    return quitCar;
 }
diff --git a/grid.h b/grid.h
index 8f35be3..d3eb152 100644
--- a/grid.h
+++ b/grid.h
@@ -22,7 +22,7 @@ typedef struct Grid
     enum CaseType **game_grid; ///< Tableau contenant les entités présents dans le jeu
     int column_number;         ///< Nombre de colonne de game_grid
     int row_number;            ///< Nomber de ligne de game_grid
-    Player player;             ///< Structure pour stocker la position du joueur
+    player player;             ///< Structure pour stocker la position du joueur
 } grid;
 
 grid *init_level(const char *file_path);
@@ -31,8 +31,8 @@ grid *creer_grid(int row, int column);
 
 void free_grid(grid *G);
 
-void display_stdio(grid *G);
+void display(grid *G);
 
-void display_ncurses(grid *G);
+char display_ncurses(grid *G);
 
 #endif
-- 
GitLab