-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoxo_test.sh
executable file
·68 lines (52 loc) · 1.52 KB
/
oxo_test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env bash
source ./oxo_logic.sh
verbose="${1}"
set_board_to_values() {
local -a __values=(${1})
for i in $(to_indices ${board_size})
do set_pos_to_val ${i} "${__values[${i}]}"
done
if [[ "${verbose}" == "-v" ]]
then printf "\n\n=====================================\n\n"
printf "Testing with board set to: \n"
display_oxo_board
fi
}
victory_X_row="O X O X X X X X O"
victory_O_row="O X O O O O X X O"
victory_X_col="X X O X X O X X O"
victory_O_col="O O X O O X O O X"
victory_left_diagonal_Xs="X X O O X O X O X"
victory_right_diagonal_Os="X X O X O X O X X"
set_board_to_values "$victory_X_row";
if __player_wins_grid_row __all_crosses
then echo "Player won Row Xs!"
fi
set_board_to_values "$victory_O_row";
if __player_wins_grid_row __all_noughts
then echo "Player won Row Os!"
fi
set_board_to_values "$victory_X_col";
if __player_wins_grid_col __all_crosses
then echo "Player won Col Xs!"
fi
set_board_to_values "$victory_O_col";
if __player_wins_grid_col __all_noughts
then echo "Player won Col Os!"
fi
set_board_to_values "$victory_left_diagonal_Xs";
if __player_wins_grid_left_diagonal __all_crosses
then echo "Player won Left Diagonal Xs!"
fi
set_board_to_values "$victory_right_diagonal_Os";
if __player_wins_grid_right_diagonal __all_noughts
then echo "Player won Right Diagonal Os!"
fi
set_board_to_values "$victory_left_diagonal_Xs";
if crosses_win
then echo "Crosses won!"
fi
set_board_to_values "$victory_right_diagonal_Os";
if noughts_win
then echo "Noughts won!"
fi