Adding equals
This commit is contained in:
parent
3f58fd52ed
commit
4c52df803f
@ -146,5 +146,17 @@ public class State {
|
||||
}
|
||||
return str.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object state) {
|
||||
boolean bool;
|
||||
bool = ( state instanceof State);
|
||||
bool = bool && (this.getCurrentPlayer() == ((State) state).getCurrentPlayer()) && (this.player1 == ((State) state).player1) && (this.player2 == ((State) state).player2);
|
||||
bool = bool && (this.n1 == ((State)state).n1)&& (this.n2 == ((State)state).n2);
|
||||
for (int i = 0; i < this.board.length; i++) {
|
||||
for (int y = 0; y < this.board.length; y++){
|
||||
bool = bool && (this.board[i][y] == ((State)state).board[i][y]);
|
||||
}
|
||||
}
|
||||
return bool;
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ public class NegamaxPlayer extends Player {
|
||||
Pair<Point, Point> bestMove = null;
|
||||
for(Pair<Point, Point> move : game.getMove(game.getCurrentPlayer())) {
|
||||
State nextState = game.play(move);
|
||||
int value = -negamax(nextState, this.depth,Integer.MIN_VALUE,Integer.MAX_VALUE);
|
||||
int value = -negamax(nextState, this.depth);
|
||||
if (value > bestValue) {
|
||||
bestValue = value;
|
||||
bestMove = move;
|
||||
@ -25,7 +25,7 @@ public class NegamaxPlayer extends Player {
|
||||
return bestMove;
|
||||
}
|
||||
|
||||
private int negamax(State state, int depth,int alpha,int beta) {
|
||||
private int negamax(State state, int depth) {
|
||||
if(depth == 0 || state.isOver()) {
|
||||
return evaluate(state);
|
||||
}
|
||||
@ -33,10 +33,7 @@ public class NegamaxPlayer extends Player {
|
||||
int m = Integer.MIN_VALUE;
|
||||
for (Pair<Point, Point> move : state.getMove(state.getCurrentPlayer())) {
|
||||
State nextState = state.play(move);
|
||||
m= Math.max(m,-negamax(nextState,depth-1,alpha,beta));
|
||||
alpha = Math.max(alpha, m);
|
||||
if(alpha >= beta)
|
||||
break;
|
||||
m= Math.max(m,-negamax(nextState,depth-1));
|
||||
}
|
||||
return m;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user