Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public boolean checkwin(char c)
- {
- int left, right, up, down;
- boolean leftwin = false, rightwin = false, upwin = false, downwin = false, dI = false, dIV = false; //named my diagonals off the quadrants I is upperright, II is upperleft etc.
- for (int row = 0; row < size; row++)
- {
- for (int col = 0; col < size; col++)
- {
- if (board[row][col] == c)
- {
- leftwin = true;
- rightwin = true;
- upwin = true;
- downwin = true;// dI = true; dII = true; dIII = true; dIV = true;
- left = col - 1;
- while (left >= 0)
- {
- if (this.board[row][left] != c)
- {
- leftwin = false;
- break;
- }
- left--;
- }
- right = col + 1;
- while (right < size)
- {
- if (this.board[row][right] != c)
- {
- rightwin = false;
- break;
- }
- right++;
- }
- up = row - 1;
- while (up >= 0)
- {
- if (this.board[up][col] != c)
- {
- upwin = false;
- break;
- }
- up--;
- }
- down = row + 1;
- while (down < size)
- {
- if (this.board[down][col] != c)
- {
- downwin = false;
- break;
- }
- down++;
- }
- //Diagonal statements
- if ((col == 0 && (row == 0 || row == size - 1)))
- {
- dI = false;
- dIV = false;
- up = row - 1;
- right = col + 1;
- while (up >= 0 && right < size)
- {
- dI = true;
- if (this.board[up][right] != c)
- {
- dI = false;
- break;
- }
- up--;
- right++;
- }
- down = row + 1;
- right = col + 1;
- while (down < size && row < size)
- {
- dIV = true;
- if (this.board[down][right] != c)
- {
- dIV = false;
- break;
- }
- down++;
- right++;
- }
- }
- }
- if ((downwin && upwin) || (leftwin && rightwin) || (dI) || (dIV))
- {
- return true;
- }
- }
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement