-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathBoard.java
More file actions
112 lines (93 loc) · 2.47 KB
/
Board.java
File metadata and controls
112 lines (93 loc) · 2.47 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
//
// creates a tic tac toe board.
public class Board {
/**
* the board height and width is 3.
*/
public int dimention = 3;
/**
* player array that is the board.
*/
public Player[][] playerboard;
/**
* constructor for tictac.
*/
public Board() {
playerboard = new Player[dimention][dimention];
}
public boolean setBoardAt(final Player player, final int setX, final int setY) {
if (playerboard[setX][setY] == null) {
playerboard[setX][setY] = player;
return true;
}
return false;
}
public Player winner(final Player[][] board) {
//horizontal cases
if(board[0][0] == board[1][0] && board[0][0] == board[2][0] && board[0][0] != null) {
return board[0][0];
}
if(board[0][1] == board[1][1] && board[0][1] == board[2][1] && board[0][1] != null) {
return board[0][1];
}
if(board[0][2] == board[1][2] && board[0][2] == board[2][2] && board[0][2] != null) {
return board[0][2];
}
//vertical cases
if(board[0][0] == board[0][1] && board[0][0] == board[0][2] && board[0][0] != null) {
return board[0][0];
}
if(board[1][0] == board[1][1] && board[1][0] == board[1][2] && board[1][0] != null) {
return board[1][0];
}
if(board[2][0] == board[2][1] && board[2][0] == board[2][2] && board[2][0] != null) {
return board[2][0];
}
//diagonal cases
if(board[0][0] == board[1][1] && board[0][0] == board[2][2] && board[0][0] != null) {
return board[0][0];
}
if(board[0][2] == board[1][1] && board[0][2] == board[2][0] && board[0][2] != null) {
return board[0][2];
}
return null;
}
public boolean tie(final Player[][] board) {
if(winner(board) == null) {
for (int i = 0; i < dimention; i++) {
for (int j = 0; j < dimention; j++) {
if(board[i][j] == null) {
return false;
}
}
}
}
return true;
}
public String[][] print(final Board board) {
String[][] printboard = new String[6][6];
for (int i = 0; i < dimention * 2; i++) {
for (int j = 0; j < dimention * 2; j++) {
if (j % 2 == 1) {
printboard[i][j] = "|";
} else {
if (i % 2 == 1) {
printboard[i][j] = "------------------";
i++;
} else {
if (board.playerboard[i][j] == null) {
printboard[i][j] = " ";
}
if (board.playerboard[i][j].x = true) {
printboard[i][j] = " X ";
}
if (board.playerboard[i][j].o = true) {
printboard[i][j] = " O ";
}
}
}
}
}
return printboard;
}
}