diff --git a/src/othello/Point.java b/src/othello/Point.java index 26e4a53..4ccfd50 100644 --- a/src/othello/Point.java +++ b/src/othello/Point.java @@ -13,6 +13,12 @@ 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; + } @Override public String toString () { diff --git a/src/othello/State.java b/src/othello/State.java index d8266e8..9920d81 100644 --- a/src/othello/State.java +++ b/src/othello/State.java @@ -65,15 +65,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) {} } }