Skip to content
Snippets Groups Projects
Commit b64d652a authored by Michael Hauspie's avatar Michael Hauspie
Browse files

Add a Board type

parent 88a5ae8a
Branches
No related tags found
No related merge requests found
...@@ -4,6 +4,9 @@ enum Square { ...@@ -4,6 +4,9 @@ enum Square {
Circle, Circle,
} }
struct Board {
board: [Square; 9],
}
fn square_to_char(s: &Square) -> char { fn square_to_char(s: &Square) -> char {
match s { match s {
...@@ -13,13 +16,13 @@ fn square_to_char(s: &Square) -> char { ...@@ -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 { for row in 0..3 {
println!( println!(
" {} | {} | {}", " {} | {} | {}",
square_to_char(&board[row * 3]), square_to_char(&board.board[row * 3]),
square_to_char(&board[row * 3 + 1]), square_to_char(&board.board[row * 3 + 1]),
square_to_char(&board[row * 3 + 2]) square_to_char(&board.board[row * 3 + 2])
); );
if row == 0 || row == 1 { if row == 0 || row == 1 {
println!("---+---+---"); println!("---+---+---");
...@@ -28,7 +31,8 @@ fn display(board: [Square; 9]) { ...@@ -28,7 +31,8 @@ fn display(board: [Square; 9]) {
} }
fn main() { fn main() {
let board = [ let board = Board {
board: [
Square::Empty, Square::Empty,
Square::Cross, Square::Cross,
Square::Circle, Square::Circle,
...@@ -38,7 +42,8 @@ fn main() { ...@@ -38,7 +42,8 @@ fn main() {
Square::Empty, Square::Empty,
Square::Empty, Square::Empty,
Square::Empty, Square::Empty,
]; ],
};
display(board); display(board);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment