From 40841fd471932ab3ba4a080d71431bfe586ca335 Mon Sep 17 00:00:00 2001
From: "sabrina.lapaire" <sabrina.lapaire@etu.hesge.ch>
Date: Sat, 22 Mar 2025 00:59:23 +0100
Subject: [PATCH] Modifier board.c

---
 src/board.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 61 insertions(+), 4 deletions(-)

diff --git a/src/board.c b/src/board.c
index f375dc5..4c4863d 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
-- 
GitLab