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