Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        // 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);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        protected static void ClearBoard(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy)
        {
            goBoard.ClearBoard();

            Respond(proxy, id);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        protected static void DumpBoard(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy)
        {
            Console.Error.WriteLine(goBoard.ToString());

            Respond(proxy, id);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        protected static void ClearBoard(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy)
        {
            goBoard.ClearBoard();

            Respond(proxy, id);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
 protected static void Version(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy)
 {
     Respond(proxy, id, Worker.Version);
 }
Exemplo n.º 16
0
        protected static void DumpBoard(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy)
        {
            Console.Error.WriteLine(goBoard.ToString());

            Respond(proxy, id);
        }
Exemplo n.º 17
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);
            }
        }
Exemplo n.º 18
0
 public GTPGoBoard(GoBoard goBoard)
 {
     RegisteredCommands = new Dictionary<string, GTPFunction>();
     AnalyzeCommands = new List<AnalyzeCommand>();
     Directory = string.Empty;
     RegisterBuildInCommands();
     Board = goBoard;
     SearchEngine = new SearchEngine(Board);
 }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
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);
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        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);
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 24
0
        protected static void Abort(GoBoard goBoard, SearchEngine searchEngine, List <string> parameters, string id, Worker.SendResponse proxy)
        {
            searchEngine.StopSearch();

            Respond(proxy, id);
        }
Exemplo n.º 25
0
 protected static void Version(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy)
 {
     Respond(proxy, id, Worker.Version);
 }
Exemplo n.º 26
0
        // 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;
        }
Exemplo n.º 27
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;
            }
        }
Exemplo n.º 28
0
        protected static void Abort(GoBoard goBoard, SearchEngine searchEngine, List<string> parameters, string id, Worker.SendResponse proxy)
        {
            searchEngine.StopSearch();

            Respond(proxy, id);
        }