Exemple #1
0
        public static void Main(string[] args)
        {
            //System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.RealTime;
            while (true)
            {
                while (connect4.AwaitNextGameState() == BoardState.ongoing)
                {
                    t = new Thread(() => {
                        Thread.CurrentThread.IsBackground = true;
                        Thread.Sleep(timeLimit);
                        timesUp = true;
                    });
                    t.Start();
                    connect4.MakeMove(FindMove(connect4.currentBoard));
                    //connect4.PlayGame(FindMove, false);
                }
                Console.WriteLine("Average depth on full time searches: " + (averageDepth / (double)averageDepthCounts));
                Console.Write("Restart? Y/N:  ");
                string input = Console.ReadLine();
                if (!(input == "Y" || input == "y"))
                {
                    break;
                }

                connect4.RestartGame();
                averageDepth       = 0;
                averageDepthCounts = 0;
            }
        }