diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..838bd9d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/src/model/Board.java b/src/model/Board.java index a7f15de..7b47489 100755 --- a/src/model/Board.java +++ b/src/model/Board.java @@ -464,13 +464,44 @@ public class Board { } public int backHeuristic(Color color) { - + if (whiteKings + blackKings == 0){ + if (color == Color.BLACK){ + Location thirty = samuelMapping(30); + Location thirty_two = samuelMapping(32); + + if ((isActive(getPiece(thirty)) == false) && (isActive(getPiece(thirty_two))==false)){ + return 1; + } + } + else { // White color + Location one = samuelMapping(1); + Location three = samuelMapping(3); + + if ((isActive(getPiece(one)) == false) && (isActive(getPiece(three))==false)){ + return 1; + } + } + } return 0; } public int centHeuristic(Color color) { + int heuristicval = 0; + int[] coordinates = {11,12,15,16,20,21,24,25}; - return 0; + for (int value : coordinates){ + Location piece_loc = samuelMapping(value); + if (isOccupied(piece_loc)==true){ + + Piece chosen_piece = getPiece(piece_loc); + if (isActive(chosen_piece)==false && chosen_piece.getType()==Type.NORMAL + && chosen_piece.getColor() == color){ + heuristicval +=1; + } + } + } + + return heuristicval; } /**