public Node(Node node, Pair <Point2D, Point2D> movePair, Board board, int depth = 0, BoardEval boardEval = BoardEval.Simple) { PreviousNode = node; MovePair = movePair; Depth = depth; Board = board; BoardEval = boardEval; }
public GreedyNPly(Board board, Color color, BoardEval boardEval = BoardEval.Simple, int n = 3) : base(board, color, "Greedy " + n + " ply AI") { if (n < 0) { throw new ArgumentException("n has to be larger than 3"); } _n = n; _randomAi = new RandomAI(board, color); _boardEval = boardEval; }
public MinimaxAgent(int id, CheckGameOver check, GetValidNextMoves valid, BoardEval eval, ApplyMove apply, GridGameParameters parameters) : base(id) { Debug.Assert(parameters != null); _checkGameOver = check; _validNextMoves = valid; _boardEval = eval; _applyMove = apply; _params = parameters; }
public static Func <Board, Color, int> GetEvalFunc(BoardEval eval) { switch (eval) { case BoardEval.Shannon: return(PieceStrength.EvalBoardShannon); case BoardEval.Simple: return(PieceStrength.EvalBoardSimple); case BoardEval.SimpleTable: return(PieceStrength.EvalBoardSimpeTable); case BoardEval.Table: return(PieceStrength.EvalBoardTable); default: throw new ArgumentOutOfRangeException(nameof(eval), eval, null); } }
public Greedy1Ply(Board board, Color color, BoardEval boardEval = BoardEval.Simple) : base(board, color, "Greedy 1ply AI") { _randomAi = new RandomAI(board, color); _boardEval = boardEval; }
public Greedy1Ply(Greedy1Ply player, Board board) : base(player, board) { _randomAi = new RandomAI(board, player.Color); _boardEval = player._boardEval; }
public AlphaBeta(Board board, Color color, int depth = 3, BoardEval boardEval = BoardEval.Simple) : base( board, color, "Alpha Beta " + depth) { _boardEval = boardEval; _depth = depth; }
public AlphaBeta(AlphaBeta playerAbstract, Board board) : base(playerAbstract, board) { _boardEval = playerAbstract._boardEval; _depth = playerAbstract._depth; }
public SimpleMonty(SimpleMonty player, Board board) : base(player, board) { _boardEval = player._boardEval; }
public Node(int depth, Board board, BoardEval boardEval = BoardEval.Simple) { Depth = depth; Board = board; BoardEval = boardEval; }