diff --git a/grid.c b/grid.c index e599ba3d8a642af568fb193d976878f8c8bb9354..e60ab8e94dd3907ec42cf5ec198259db06392af7 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 8f35be3f57ecffdeda70862ce8a35a1728991a4b..d3eb1520244352ab9303c9f477b65e550d878de5 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