SHOW:
|
|
- or go back to the newest paste.
1 | // Return value of TRUE indicates winning move. | |
2 | bool checkWin(const unsigned int x, const unsigned int y, const TYPE table[3][3]) { | |
3 | if (table[0][y] == table[1][y] == table[2][y] || table[x][0] == table[x][1] == table[x][2]) | |
4 | return TRUE; // Row or column win. | |
5 | - | If (x == y || abs(x - y) == 2) { // Is this move able to make a diagonal win? |
5 | + | if (x == y || abs(x - y) == 2) { // Is this move able to make a diagonal win? |
6 | if (x != 1 && table[x][y] == table[1][1] == (x != y ? table[y][x] : table[abs(x - 2)][abs(y - 2)])) | |
7 | return TRUE; // Not center box, but completed a diagonal. | |
8 | - | else if (x == 1 && table[x][y] == table[0][0] == table[2][2] || table[x][y] == table[2][0] == table[0][2]) |
8 | + | else if (x == 1 && (table[x][y] == table[0][0] == table[2][2] || table[x][y] == table[2][0] == table[0][2])) |
9 | return TRUE; // Center box, completed a diagonal. | |
10 | } | |
11 | return FALSE; | |
12 | } |