Added last winning condition check
Signed-off-by: Malte Tammena <malte.tammena@gmx.de>
This commit is contained in:
parent
8839a61ae5
commit
f7c348b6ce
|
@ -218,7 +218,59 @@ public class Game {
|
|||
break outer;
|
||||
}
|
||||
}
|
||||
// TODO: Finish other diagonals
|
||||
reverse = false;
|
||||
count1 = 0;
|
||||
count2 = 0;
|
||||
posX = GAME_COLUMNS;
|
||||
posY = 1;
|
||||
addX = -1;
|
||||
addY = -1;
|
||||
outer:while (posX != 0 || posY != GAME_ROWS - 1) {
|
||||
posX += addX;
|
||||
posY += addY;
|
||||
if (posX < 0) {
|
||||
posY += 2;
|
||||
posX = 0;
|
||||
reverse = true;
|
||||
} else if (posY > GAME_ROWS - 1) {
|
||||
posX -= 2;
|
||||
posY = GAME_ROWS - 1;
|
||||
reverse = true;
|
||||
} else if (posX > GAME_COLUMNS - 1) {
|
||||
posX = GAME_COLUMNS - 1;
|
||||
reverse = true;
|
||||
} else if (posY < 0) {
|
||||
posY = 0;
|
||||
reverse = true;
|
||||
}
|
||||
if (reverse) {
|
||||
addX *= -1;
|
||||
addY *= -1;
|
||||
count1 = 0;
|
||||
count2 = 0;
|
||||
reverse = false;
|
||||
}
|
||||
if (this.board[posX][posY] == 1) {
|
||||
count1++;
|
||||
count2 = 0;
|
||||
} else if (this.board[posX][posY] == 2) {
|
||||
count1 = 0;
|
||||
count2++;
|
||||
} else {
|
||||
count1 = 0;
|
||||
count2 = 0;
|
||||
}
|
||||
if (count1 >= 4) {
|
||||
log("Player 1 won!");
|
||||
this.gameOn = false;
|
||||
break outer;
|
||||
}
|
||||
if (count2 >= 4) {
|
||||
log("Player 2 won!");
|
||||
this.gameOn = false;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
|
||||
// --- CHECK DRAW ---
|
||||
boolean draw = true;
|
||||
|
|
Loading…
Reference in a new issue