VERSION 1.0.0
============= !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This commit is contained in:
@ -40,14 +40,56 @@ public class SuicideChess {
|
||||
public static final boolean MOVE_ORDERING = false;
|
||||
|
||||
/**
|
||||
* Intelligent depth -> ie: when only one possible move, don't search. When very few moves, add one to depth.
|
||||
* Minimum ply to search to (when doing iterative deepening)
|
||||
*/
|
||||
public static final boolean INTELLIGENT_DEPTH = false;
|
||||
public static final int MIN_PLY_DEPTH = 2;
|
||||
|
||||
/**
|
||||
* Number of Plies the computes searches to
|
||||
*/
|
||||
private static int plyDepth = 4;
|
||||
|
||||
/**
|
||||
* What is the current ply depth
|
||||
* @return integer
|
||||
*/
|
||||
public static int getPlyDepth() { return plyDepth; }
|
||||
|
||||
/**
|
||||
* Quiescence search -> don't evaluate if captures are possible.
|
||||
*/
|
||||
public static final boolean QUIESCENCE_SEARCH = true;
|
||||
public static final boolean QUIESCENCE_SEARCH = true;
|
||||
|
||||
/**
|
||||
* Quiescence limit (ie. if more than that many possibilities of capturing, don't analyse further.
|
||||
*/
|
||||
public static final int QUIESCENCE_LIMIT = 4;
|
||||
|
||||
/**
|
||||
* Maximum number of Plies the computer will ever go to
|
||||
*/
|
||||
public static final int MAX_QUIESCENCE_DEPTH = 8;
|
||||
|
||||
|
||||
/**
|
||||
* Adaptative depth -> ie: when only one possible move, don't search. When very few moves, add one to depth.
|
||||
*/
|
||||
public static final boolean ADAPTATIVE_DEPTH = true;
|
||||
|
||||
/**
|
||||
* Adaptative branchin limit
|
||||
*/
|
||||
public static final int ADAPTATIVE_BRANCHING_LIMIT = 3;
|
||||
|
||||
///**
|
||||
// * Killer size (nb of killer moves remembered)
|
||||
// */
|
||||
//public static final int KILLER_SIZE = 10;
|
||||
|
||||
/**
|
||||
* Try the primary variation from the earliest iteration first
|
||||
*/
|
||||
public static final boolean PRINCIPAL_VARIATION_FIRST = true;
|
||||
|
||||
/**
|
||||
* The name to be displayed
|
||||
@ -66,27 +108,7 @@ public class SuicideChess {
|
||||
public static boolean playInACSII() {
|
||||
return asciiGame;
|
||||
}
|
||||
|
||||
/**
|
||||
* Number of Plies the computes searches to
|
||||
*/
|
||||
private static int plyDepth = 4;
|
||||
|
||||
/**
|
||||
* What is the current ply depth
|
||||
* @return integer
|
||||
*/
|
||||
public static int getPlyDepth() { return plyDepth; }
|
||||
|
||||
/**
|
||||
* Maximum number of Plies the computer will ever go to
|
||||
*/
|
||||
public static final int MAX_PLY_DEPTH = 8;
|
||||
/**
|
||||
* Quiescence limit (ie. if more than that many possibilities of capturing, don't analyse further.
|
||||
*/
|
||||
public static final int QUIESCENCE_LIMIT = 5;
|
||||
|
||||
|
||||
/**
|
||||
* Test and display if the board is in a winning state.
|
||||
* @param bitboard A Board
|
||||
@ -378,7 +400,7 @@ public class SuicideChess {
|
||||
needToCapture = true;
|
||||
}
|
||||
for (int moveIndex = 0; moveIndex < allLegalMoves.size(); moveIndex++) {
|
||||
if (allLegalMoves.get(moveIndex).isSimpleEqual(theMove)) {
|
||||
if (allLegalMoves.get(moveIndex).isSimpleEqualTo(theMove)) {
|
||||
if(theMove.isPromotionMove()&&
|
||||
theMove.getPromotionPiece().getPieceNumber()!=allLegalMoves.get(moveIndex).getPromotionPiece().getPieceNumber()) {
|
||||
continue;
|
||||
@ -514,7 +536,7 @@ public class SuicideChess {
|
||||
|
||||
//lets the computer try every problem and stop on error.
|
||||
//in the end it says what games where lost by white.
|
||||
private static void autoProblem() throws NotAValidSquare, UnableToParseFENStringException, NoPieceOnSquare, NoSuchSuicideProblem {
|
||||
private static void autoProblem() throws NotAValidSquare, UnableToParseFENStringException, NoPieceOnSquare, NoSuchSuicideProblem, NotAValidMoveException {
|
||||
Board bitboard;
|
||||
int[] result=new int[SuicideProblems.numberOfProblems()];
|
||||
for(int i=1; i<=SuicideProblems.numberOfProblems(); i++) {
|
||||
|
Reference in New Issue
Block a user