diff --git a/src/board.c b/src/board.c index f375dc52965461d41ff3c75c416e3d42ecc8aa8c..4c4863d120a616e59cee70f244887c5c679b7a25 100644 --- a/src/board.c +++ b/src/board.c @@ -1,12 +1,69 @@ #include "board.h" -void init(int col, int line){ +struct board create_board(int col, int line){ struct board board; + board.data = malloc(sizeof(struct board) * line); + for(int i = 0; i < line; i++){ + board.data[i] = malloc(sizeof(struct board)*col); + } board.col = col; board.line = line; - for(int i = 0; i < col;i++){ - for(int j = 0; j < line; j++){ - board.data[i][j] = Vide; + return board; +} + +void init_board(struct board *board){ + for(int i = 0; i < board->line;i++){ + for(int j = 0; j < board->col; j++){ + board->data[i][j] = Vide; + } + } +} + +void print_game(struct board *board){ + printf("┌"); + for(int i = 1; i < board->col; i++){ + printf("─┬"); + } + printf("─â”\n"); + + for(int i = 0; i < board->line;i++){ + printf("│"); + for(int j = 0; j < board->col; j++){ + if(board->data[i][j] == Vide){ + printf(" │"); + } + if(board->data[i][j] == Croix){ + printf("X│"); + } + if(board->data[i][j] == Cercle){ + printf("O│"); + } } + if(i != board->line-1){ + printf("\n├"); + for(int i = 1; i < board->col; i++){ + printf("─┼"); + } + printf("─┤\n"); + } + else{ + printf("\n"); + } + } + printf("â””"); + for(int i = 1; i < board->col; i++){ + printf("─┴"); + } + printf("─┘\n"); + for(int i = 1; i <= board->col; i++){ + printf(" %d", i); + } + printf("\n"); +} + +void free_board(struct board *board){ + for(int i = 0; i < board->line;i++){ + free(board->data[i]); } + free(board->data); } \ No newline at end of file