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 => { }); }
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(); }