Exemple #1
0
 protected override IMoveFindingStartegy GetSearchEngine(IFieldsGraph graph)
 {
     options.AlphaBeta.JumpsMaxDepth             = 10;
     options.AlphaBeta.StoneRadius               = 1;
     options.AlphaBeta.SkipShortMoves            = 1;
     options.AlphaBeta.SearchDepth               = 3;
     options.AlphaBeta.BlackStonesToBorderWeight = 0;
     options.AlphaBeta.DistanceToBorderWeight    = 1;
     RawMoveFinders = new RawMoveFinders(new MovesFactory(), PlayersState.FirstIsOnTheMove(), options);
     return(RawMoveFinders.AlphaBeta());
 }
Exemple #2
0
        protected override void EstablishContext()
        {
            _fieldsGraph  = GraphBuilder().Build();
            _playersState = PlayersState.SecondIsOnTheMove();
            _performMoves = new PerformMoves(_fieldsGraph, new NulloPlayersSwapper());
            var testPhutballOptions = new PhutballOptions
            {
                RowCount    = _fieldsGraph.RowCount,
                ColumnCount = _fieldsGraph.ColumnCount
            };

            _moveFinders = new RawMoveFinders(new MovesFactory(), _playersState, testPhutballOptions);
            ProvideImplementationOf <IPhutballOptions>(testPhutballOptions);
        }
Exemple #3
0
        protected IFieldsGraph AfterMoveOn(TestFieldsGraph graphToSearch)
        {
            var actualGraph = graphToSearch.Build();

            _playersState = PlayersState.SecondIsOnTheMove();
            var phutballOptions = new PhutballOptions()
            {
                RowCount    = actualGraph.RowCount,
                ColumnCount = actualGraph.ColumnCount
            };

            RawMoveFinders = new RawMoveFinders(new MovesFactory(), _playersState, phutballOptions);
            _performMoves  = new PerformMoves(actualGraph, new NulloPlayersSwapper());
            _strategy      = GetSearchStrategy();
            _bestMove      = _strategy.Search(actualGraph);
            if (_bestMove.Move != null)
            {
                _performMoves.Perform(_bestMove.Move);
            }
            return(actualGraph);
        }
Exemple #4
0
 protected override IMoveFindingStartegy GetSearchStrategy()
 {
     return(RawMoveFinders.BfsUnbounded());
 }
Exemple #5
0
 protected override IMoveFindingStartegy GetSearchStrategy()
 {
     return(RawMoveFinders.OrderByNodesValues());
 }
Exemple #6
0
 protected override IMoveFindingStartegy GetSearchStrategy()
 {
     return(RawMoveFinders.DfsCuttoff());
 }
Exemple #7
0
 protected override IMoveFindingStartegy GetSearchEngine(IFieldsGraph graph)
 {
     RawMoveFinders = new RawMoveFinders(new MovesFactory(), PlayersState.SecondIsOnTheMove(), options);
     return(RawMoveFinders.OrderByNodesValuesWithCuttofsToWhite());
 }
Exemple #8
0
 protected override IMoveFindingStartegy GetSearchEngine(IFieldsGraph graph)
 {
     RawMoveFinders = new RawMoveFinders(new MovesFactory(), PlayersState.SecondIsOnTheMove(), options);
     return(RawMoveFinders.BfsNodesBounded());
 }
Exemple #9
0
 public MoveFinders(RawMoveFinders rawMoveFinders)
 {
     _rawMoveFinders = rawMoveFinders;
 }
Exemple #10
0
 public MoveFinders(RawMoveFinders rawMoveFinders)
 {
     _rawMoveFinders = rawMoveFinders;
 }