protected static void AddPatterns(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { PatternCollection lPatternCollection = new PatternCollection(); foreach (string lString in parameters) { string lPattern = lString.Replace("~", "\n"); lPatternCollection.Add(new Pattern(lPattern)); } if (lPatternCollection.Count != 0) { if (searchEngine.SearchOptions.PatternDetector == null) { searchEngine.SearchOptions.PatternDetector = new PatternDetector(); } searchEngine.SearchOptions.PatternDetector.Add(lPatternCollection); } Respond(proxy, id); }
// temp. for testing /// <summary> /// Launches the test. /// </summary> /// <returns></returns> public static int LaunchTest() { GoBoard lGoBoard = new GoBoard(9); GameRecord lGameRecord = new GameRecord(); SGFCollection lSGFCollection = new SGFCollection(); //lSGFCollection.LoadSGFFromMemory(SGFGameSamples.DYER); // lSGFCollection.LoadSGFFile(@"x:\CodePlex\test2.sgf"); // lSGFCollection.RetrieveGame(lGameRecord); // GameRecordBoardAdapter.Apply(lGameRecord, lGoBoard, false); lGoBoard.Dump(); PatternCollection lPatternCollection = new PatternCollection(@"Patterns\test.db"); NagCoordinator lNagCoordinator = new NagCoordinator(9999, lPatternCollection); //ThreadPoolHelperWithParam<int>.Execute(LaunchWorker, 9999); Thread.Sleep(1000 * 14); SearchEngine lSearchEngine = new SearchEngine(lGoBoard); lSearchEngine.SetSearchMethod(SearchMethodType.AlphaBeta_NAG_ID_TT); lSearchEngine.SetNagCoordinator(lNagCoordinator); lSearchEngine.SearchOptions.MaxPly = 40; lSearchEngine.SearchOptions.MaxSeconds = 2000; lSearchEngine.SearchOptions.PatternDetector = new PatternDetector(lPatternCollection); lSearchEngine.SimpleSearch(Color.Black); Thread.Sleep(1000 * 10); return(0); }
protected static void ClearPatterns(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SearchOptions.PatternDetector = new PatternDetector(); Respond(proxy, id); }
protected static void AddPatterns(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { PatternCollection lPatternCollection = new PatternCollection(); foreach (string lString in parameters) { string lPattern = lString.Replace("~", "\n"); lPatternCollection.Add(new Pattern(lPattern)); } if (lPatternCollection.Count != 0) { if (searchEngine.SearchOptions.PatternDetector == null) searchEngine.SearchOptions.PatternDetector = new PatternDetector(); searchEngine.SearchOptions.PatternDetector.Add(lPatternCollection); } Respond(proxy, id); }
protected static void ClearBoard(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { goBoard.ClearBoard(); Respond(proxy, id); }
protected static void WriteLine(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { foreach (string lString in parameters) Console.Error.WriteLine("DEBUG: " + lString); Respond(proxy, id); }
public void Run() { Board = new GoBoard(9); SearchEngine = new SearchEngine(Board); SearchEngine.SearchOptions.EarlyTimeOut = false; SearchEngine.SearchOptions.MaxSeconds = 60 * 60 * 5; // five hours max. Server.Run(ProcessLine); }
protected static void SetBoardSize(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { goBoard.SetBoardSize(Convert.ToInt32(parameters[0])); Respond(proxy, id); }
protected static void SetSearchMethod(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SetSearchMethod(SearchMethodFactory.ToType(parameters[0])); Respond(proxy, id); }
protected static void DumpBoard(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { Console.Error.WriteLine(goBoard.ToString()); Respond(proxy, id); }
protected static void Search(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { Color color = Color.ToColor(parameters[0]); AsyncResponseHelper lAsyncResponseHelper = new AsyncResponseHelper(proxy, id); Respond(proxy, id); searchEngine.SimpleAsyncSearch(color, lAsyncResponseHelper.OnCompletion); }
protected static void ClearBoard(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { goBoard.ClearBoard(); Respond(proxy, id); }
protected static void SetPermutation(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SearchOptions.Permutations = Convert.ToInt32(parameters[0]); Respond(proxy, id); }
protected static void SetBoardSize(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { goBoard.SetBoardSize(Convert.ToInt32(parameters[0])); Respond(proxy, id); }
protected static void Version(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { Respond(proxy, id, Worker.Version); }
protected static void DumpBoard(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { Console.Error.WriteLine(goBoard.ToString()); Respond(proxy, id); }
public static bool Execute(string command, string id, List <string> parameters, GoBoard goBoard, SearchEngine searchEngine, Worker.SendResponse proxy) { WorkerFunction lFunction = GetFunction(command, parameters.Count); if (lFunction == null) { return(false); } try { lFunction(goBoard, searchEngine, parameters, id, proxy); return(true); } catch (Exception e) { Console.Error.Write("ERROR: " + e.ToString()); Respond(proxy, id, false, command, true); // async response return(false); } }
public GTPGoBoard(GoBoard goBoard) { RegisteredCommands = new Dictionary<string, GTPFunction>(); AnalyzeCommands = new List<AnalyzeCommand>(); Directory = string.Empty; RegisterBuildInCommands(); Board = goBoard; SearchEngine = new SearchEngine(Board); }
protected static void PlaySequence(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { if (parameters.Count > 0) { string[] lMoves = parameters[0].Split(' '); for (int i = 0; i < lMoves.Length / 2; i++) goBoard.PlayStone(lMoves[i * 2 + 1], Color.ToColor(lMoves[(i * 2)]), false); } Respond(proxy, id); }
protected static void ClearPatterns(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SearchOptions.PatternDetector = new PatternDetector(); Respond(proxy, id); }
protected static void SetAlphaBeta(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SearchOptions.AlphaValue = Convert.ToInt32(parameters[0]); searchEngine.SearchOptions.BetaValue = Convert.ToInt32(parameters[1]); Respond(proxy, id); }
protected static void SetSearchMethod(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SetSearchMethod(SearchMethodFactory.ToType(parameters[0])); Respond(proxy, id); }
protected static void SetPermutation(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { searchEngine.SearchOptions.Permutations = Convert.ToInt32(parameters[0]); Respond(proxy, id); }
protected static void Abort(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy) { searchEngine.StopSearch(); Respond(proxy, id); }
protected static void Version(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { Respond(proxy, id, Worker.Version); }
// temp. for testing /// <summary> /// Launches the test. /// </summary> /// <returns></returns> public static int LaunchTest() { GoBoard lGoBoard = new GoBoard(9); GameRecord lGameRecord = new GameRecord(); SGFCollection lSGFCollection = new SGFCollection(); //lSGFCollection.LoadSGFFromMemory(SGFGameSamples.DYER); // lSGFCollection.LoadSGFFile(@"x:\CodePlex\test2.sgf"); // lSGFCollection.RetrieveGame(lGameRecord); // GameRecordBoardAdapter.Apply(lGameRecord, lGoBoard, false); lGoBoard.Dump(); PatternCollection lPatternCollection = new PatternCollection(@"Patterns\test.db"); NagCoordinator lNagCoordinator = new NagCoordinator(9999, lPatternCollection); //ThreadPoolHelperWithParam<int>.Execute(LaunchWorker, 9999); Thread.Sleep(1000 * 14); SearchEngine lSearchEngine = new SearchEngine(lGoBoard); lSearchEngine.SetSearchMethod(SearchMethodType.AlphaBeta_NAG_ID_TT); lSearchEngine.SetNagCoordinator(lNagCoordinator); lSearchEngine.SearchOptions.MaxPly = 40; lSearchEngine.SearchOptions.MaxSeconds = 2000; lSearchEngine.SearchOptions.PatternDetector = new PatternDetector(lPatternCollection); lSearchEngine.SimpleSearch(Color.Black); Thread.Sleep(1000 * 10); return 0; }
public static bool Execute(string command, string id, List<string> parameters, GoBoard goBoard, SearchEngine searchEngine, Worker.SendResponse proxy) { WorkerFunction lFunction = GetFunction(command, parameters.Count); if (lFunction == null) return false; try { lFunction(goBoard, searchEngine, parameters, id, proxy); return true; } catch (Exception e) { Console.Error.Write("ERROR: " + e.ToString()); Respond(proxy, id, false, command, true); // async response return false; } }
protected static void Abort(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy) { searchEngine.StopSearch(); Respond(proxy, id); }