Example #1
0
        public static void Main(string[] args)
        {
            // Check if terminal container is not too small
            if (!ResolutionHandler.IsSupportedResolution())
            {
                throw new ApplicationException(
                          "The terminal window is too small. Please change window to the fullscreen mode.");
            }

            // Initialize player/villages instances
            Villages = new GameVillages();
            Player   = new Player(Villages.GetRandomVillage());

            // Initialize render pipeline
            RenderPipeline.Add(new PlayerStatsBar());

            // Display the welcome message (game instructions)
            WelcomeScreen.Display();

            // Display the main menu
            while (true)
            {
                /*
                 * // Constantly invoke main menu printing when thread is not busy
                 * // That way every task (other menu) can avoid memory recursion and
                 * // just skip the task, knowing that program will navigate user
                 * // to the main menu anyway.
                 */
                ActionGroupsMenu.Display();
            }
        }