Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
 public Greedy1Ply(Board board, Color color, BoardEval boardEval = BoardEval.Simple) : base(board, color,
                                                                                            "Greedy 1ply AI")
 {
     _randomAi  = new RandomAI(board, color);
     _boardEval = boardEval;
 }
Exemplo n.º 6
0
 public Greedy1Ply(Greedy1Ply player, Board board) : base(player, board)
 {
     _randomAi  = new RandomAI(board, player.Color);
     _boardEval = player._boardEval;
 }
Exemplo n.º 7
0
 public AlphaBeta(Board board, Color color, int depth = 3, BoardEval boardEval = BoardEval.Simple) : base(
         board, color, "Alpha Beta " + depth)
 {
     _boardEval = boardEval;
     _depth     = depth;
 }
Exemplo n.º 8
0
 public AlphaBeta(AlphaBeta playerAbstract, Board board) : base(playerAbstract, board)
 {
     _boardEval = playerAbstract._boardEval;
     _depth     = playerAbstract._depth;
 }
Exemplo n.º 9
0
 public SimpleMonty(SimpleMonty player, Board board) : base(player, board)
 {
     _boardEval = player._boardEval;
 }
Exemplo n.º 10
0
 public Node(int depth, Board board, BoardEval boardEval = BoardEval.Simple)
 {
     Depth     = depth;
     Board     = board;
     BoardEval = boardEval;
 }