コード例 #1
0
        private static void Bench()
        {
            var moveGen   = new MoveGenerator();
            var evaluator = new Evaluator();
            var promotionMvvLvaMoveOrderer = new CompositeMoveOrderer(new IMoveOrderer[] { new PromotionsOrderer(), new MvvLvaOrderer() });
            var qSearch      = new SimpleQSearch(evaluator, moveGen, promotionMvvLvaMoveOrderer, CompositeMoveOrderer.NullMoveOrderer);
            var search       = new SimpleAlphaBetaSearch(moveGen, evaluator, qSearch);
            var timeStrategy = new TimePerMoveStrategy(TimeSpan.FromSeconds(10));

            search.Search(BoardParsing.PositionFromFen(MidgameFen), timeStrategy, s => { });
        }
コード例 #2
0
        private static void Uci()
        {
            var moveGen   = new MoveGenerator();
            var evaluator = new Evaluator();
            var promotionMvvLvaMoveOrderer = new CompositeMoveOrderer(new IMoveOrderer[] { new PromotionsOrderer(), new MvvLvaOrderer() });
            var qSearch = new SimpleQSearch(evaluator, moveGen, promotionMvvLvaMoveOrderer, CompositeMoveOrderer.NullMoveOrderer);
            //var search = new SimpleAlphaBetaSearch(moveGen, evaluator, qSearch);
            var search = new IidAlphaBetaSearch(moveGen, evaluator, qSearch, promotionMvvLvaMoveOrderer);

            var uci = new SimpleUci(moveGen, search, Console.In, TextWriter.Synchronized(Console.Out));

            uci.Loop();
        }