protected override LineBetweenCircles TurnAction() { LineBetweenCircles closingEdge; if ((closingEdge = AICommon.FindBoxClosingEdge(existingMoves, nonExistingMoves, Player.RED)) != null) { return(closingEdge); } else { int randomIndex = (int)(random.NextDouble() * nonExistingMoves.Count); return(nonExistingMoves[randomIndex]); } }
protected override LineBetweenCircles TurnAction() { LineBetweenCircles closingEdge; if ((closingEdge = AICommon.FindBoxClosingEdge(existingMoves, nonExistingMoves, Player.RED)) != null) { return(closingEdge); } else { minimax = new IntermediateMinimax(existingMoves, nonExistingMoves, boxes, whoAmI, minimaxDepth); return(minimax.GetBestMove()); } }