diff --git a/src/othello/Point.java b/src/othello/Point.java index 4e0b11a..7a73482 100644 --- a/src/othello/Point.java +++ b/src/othello/Point.java @@ -13,5 +13,11 @@ public class Point { public boolean isJump(Point other) { return Math.pow(other.x - this.x, 2) + Math.pow(other.y - this.y, 2) == 4; } + public int getX(){ + return x; + } + public int getY(){ + return y; + } } diff --git a/src/othello/State.java b/src/othello/State.java index 97aa46b..e29aba6 100644 --- a/src/othello/State.java +++ b/src/othello/State.java @@ -66,15 +66,16 @@ public class State { return currentPlayer == player1 ? n1/(n1+n2) : n2/(n2+n1); } - public State play(int x, int y) { + public State play(Pair paire) { State copy = this.copy(); - copy.board[x][y] = copy.getCurrentPlayer(); + copy.board[paire.getLeft.getX][paire.getLeft.getY] = copy.getCurrentPlayer(); int increment = 0; for(int i = -1; i<2;i++){ for(int z = -1;z<2;z++){ try { - copy.board[x+i][y+z] = copy.getCurrentPlayer(); - increment++; + if(copy.board[paire.getLeft.getX+i][paire.getLeft.getY+z] != copy.getCurrentPlayer()){ + increment++; + copy.board[paire.getLeft.getX+i][paire.getLeft.getY+z] = copy.getCurrentPlayer(); } catch (IndexOutOfBoundsException ignored) {} } }