Skip to content
Snippets Groups Projects
Commit 0880db06 authored by ERKEN EFE's avatar ERKEN EFE
Browse files

:sparkles: NEW: Display funcs and player structs

Added display functions and player related structures.
parent 086f8933
Branches
Tags
No related merge requests found
#include <stdlib.h>
#include <stdio.h>
#include <ncurses.h>
#include "grid.h"
#include "player.h"
grid *creer_grid(int row, int column)
{
......@@ -69,6 +71,10 @@ grid *init_level(const char *file_path)
while (*buffer && *buffer != '\n')
{
level->game_grid[current_row][current_column] = *buffer;
if (*buffer == '@') {
level->player.x = current_column;
level->player.y = current_row;
}
current_column += 1;
buffer += 1;
......@@ -79,3 +85,30 @@ grid *init_level(const char *file_path)
fclose(file);
return level;
}
void display_stdio(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]);
}
printf("\n");
}
}
void display_ncurses(grid *G) {
initscr();
printw("Appuyez sur \"q\" pour quitter\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]);
}
printw("\n");
}
refresh();
char quitCar = '\0';
noecho();
while (quitCar != 'q') {
quitCar = (char) getch();
}
endwin();
}
#ifndef GRID_HEADER
#define GRID_HEADER
#include "player.h"
enum CaseType
{
WALL = '#',
......@@ -20,6 +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
} grid;
grid *init_level(const char *file_path);
......@@ -28,4 +31,8 @@ grid *creer_grid(int row, int column);
void free_grid(grid *G);
void display_stdio(grid *G);
void display_ncurses(grid *G);
#endif
player.h 0 → 100644
#ifndef PLAYER_HEADER
#define PLAYER_HEADER
typedef struct player {
int x;
int y;
} Player;
enum Direction {
LEFT = 'h',
BOTTOM = 'j',
TOP = 'k',
RIGHT = 'l'
};
#endif
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment