diff --git a/src/main.rs b/src/main.rs index 0020818a8cdd1fd62b05d527fceaa65a1e7bb472..e849aee87a729aed44bc161c4cfa20056d8c08d7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,3 @@ -#[derive(Clone, Copy)] enum Square { Empty, Cross, @@ -6,7 +5,7 @@ enum Square { } -fn square_to_char(s: Square) -> char { +fn square_to_char(s: &Square) -> char { match s { Square::Empty => '.', Square::Cross => 'X', @@ -18,9 +17,9 @@ fn display(board: [Square; 9]) { 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[row * 3]), + square_to_char(&board[row * 3 + 1]), + square_to_char(&board[row * 3 + 2]) ); if row == 0 || row == 1 { println!("---+---+---"); @@ -29,7 +28,17 @@ fn display(board: [Square; 9]) { } fn main() { - let board = [Square::Empty; 9]; + let board = [ + Square::Empty, + Square::Cross, + Square::Circle, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + Square::Empty, + ]; display(board); }