From b64d652a610ccd30cdb1434b326f3c5cc0d5498a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Hauspie?= <michael.hauspie@univ-lille.fr>
Date: Sun, 27 Nov 2022 17:57:37 +0100
Subject: [PATCH] Add a Board type

---
 src/main.rs | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index e849aee..4b16319 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -4,6 +4,9 @@ enum Square {
     Circle,
 }
 
+struct Board {
+    board: [Square; 9],
+}
 
 fn square_to_char(s: &Square) -> char {
     match s {
@@ -13,13 +16,13 @@ fn square_to_char(s: &Square) -> char {
     }
 }
 
-fn display(board: [Square; 9]) {
+fn display(board: Board) {
     for row in 0..3 {
         println!(
             " {} | {} | {}",
-            square_to_char(&board[row * 3]),
-            square_to_char(&board[row * 3 + 1]),
-            square_to_char(&board[row * 3 + 2])
+            square_to_char(&board.board[row * 3]),
+            square_to_char(&board.board[row * 3 + 1]),
+            square_to_char(&board.board[row * 3 + 2])
         );
         if row == 0 || row == 1 {
             println!("---+---+---");
@@ -28,17 +31,19 @@ fn display(board: [Square; 9]) {
 }
 
 fn main() {
-    let board = [
-        Square::Empty,
-        Square::Cross,
-        Square::Circle,
-        Square::Empty,
-        Square::Empty,
-        Square::Empty,
-        Square::Empty,
-        Square::Empty,
-        Square::Empty,
-    ];
+    let board = Board {
+        board: [
+            Square::Empty,
+            Square::Cross,
+            Square::Circle,
+            Square::Empty,
+            Square::Empty,
+            Square::Empty,
+            Square::Empty,
+            Square::Empty,
+            Square::Empty,
+        ],
+    };
 
     display(board);
 }
-- 
GitLab