public Move get1stMove( Game game, CheckersSetup setup, checkersSetup.Board board, ArrayList<Move> choices) { // BasicCheckersAIFunctions.delayCompALittle(); // start fresh after every turn: viewedPos = null; // TESTING numPosRecorded = 0; // END TESTING numJumpsAlreadyDoneThisTurn = 0; BasicCheckersAIFunctions.printAllAIPlayerOptions(setup, isDarkPlayer); desiredTurn = getBestMoveBasedOnSearchOfDepthN(setup, isDarkPlayer, this.depth); ArrayList<Move> desiredMoves = desiredTurn.getMovesFor1Turn(); BasicCheckersAIFunctions.PrintDesiredMoves(desiredMoves); if (desiredMoves.get(0).isJump()) { numJumpsAlreadyDoneThisTurn++; } // TESTING (Display) System.out.println("Number of positions analysed for AI with Tree: " + numPosRecorded); if (viewedPos != null) { System.out.println("Height of tree: " + viewedPos.getHeightOfTree()); } System.out.println(); // END TESTING return desiredMoves.get(0); }
public Move getNextJumps( CheckersSetup setup, checkersSetup.Board board, ArrayList<Move> multiJumpChoices) { // BasicCheckersAIFunctions.delayCompALittle(); // get the next move in the desired multi jump choice: Move move = desiredTurn.getMovesFor1Turn().get(numJumpsAlreadyDoneThisTurn); // Testing BasicCheckersAIFunctions.doSanityCheckMakeSureCompMoveIsRealMove( desiredTurn.getMovesFor1Turn().get(numJumpsAlreadyDoneThisTurn), multiJumpChoices); // Testing numJumpsAlreadyDoneThisTurn++; return move; }