示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Maze");
            var rlmMaze = new RlmMazePlayer();

            rlmMaze.MazeTrain();
        }
示例#2
0
        static void Main(string[] args)
        {
            bool isExit = false;

            do
            {
                Console.Clear();
                Console.WriteLine("Maze");
                int mazeSize = Util.GetInput($"Enter Maze size [must be {MIN_MAZE_SIZE} or greater]: ", 8);

                if (mazeSize >= MIN_MAZE_SIZE)
                {
                    var maze = GenerateOrGetExistingMaze(mazeSize);

                    int gameTimeout = Util.GetInput($"Game timeouts after [{MAZE_GAME_TIMEOUT} seconds default]: ", MAZE_GAME_TIMEOUT);
                    Console.WriteLine($"Perfect move count for this maze would be {maze.PerfectGameMovesCount}");
                    Console.WriteLine();

                    Console.WriteLine("Select an AI");
                    Console.WriteLine("1) Ryskamp Learning Machine \n2) Encog \n3) Exit ");
                    var choice = Console.ReadKey();

                    Console.WriteLine();
                    switch (choice.KeyChar)
                    {
                    case '1':
                        RlmMazePlayer.MazeTrain(maze, gameTimeout * 1000);
                        break;

                    case '2':
                        EncogMazePlayer.MazeTrain(maze, gameTimeout * 1000);
                        break;

                    case '3':
                        isExit = true;
                        break;

                    default:
                        Console.WriteLine("\nInvalid input try again...");
                        System.Threading.Thread.Sleep(1000);
                        break;
                    }
                }
            } while (!isExit);
        }