Compare commits

..

2 Commits

Author SHA1 Message Date
Brett 2d0645abe1 Merge branch 'main' of https://github.com/Tri11Paragon/COSC-3P71-Final-Project 2022-12-19 23:03:54 -05:00
MikeBlu c3fc5401a9
Added material-total heuristic function 2022-12-19 22:52:32 -05:00
1 changed files with 41 additions and 2 deletions

View File

@ -86,8 +86,47 @@ public class Board {
return moveStates; return moveStates;
} }
public int evaluate () { // !!!!!!!! Fix this, add actual heuristic evaluation public int evaluate () {
return (int)(Math.random()*10); int materialTotal = 0;
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[0].length; j++) {
if (board[i][j] == null) {continue;}
if (King.class.equals(board[i][j].getClass())) {
if (board[i][j].isWhite) {
materialTotal += 900;
} else {
materialTotal -= 900;
}
} else if (Queen.class.equals(board[i][j].getClass())) {
if (board[i][j].isWhite) {
materialTotal += 9;
} else {
materialTotal -= 9;
}
} else if (Rook.class.equals(board[i][j].getClass())) {
if (board[i][j].isWhite) {
materialTotal += 5;
} else {
materialTotal -= 5;
}
} else if (Knight.class.equals(board[i][j].getClass()) || Bishop.class.equals(board[i][j].getClass())) {
if (board[i][j].isWhite) {
materialTotal += 3;
} else {
materialTotal -= 3;
}
} else if (Pawn.class.equals(board[i][j].getClass())) {
if (board[i][j].isWhite) {
materialTotal += 1;
} else {
materialTotal -= 1;
}
}
}
}
return materialTotal;
} }
public Board deepCopy () { public Board deepCopy () {