Exemple #1
0
        public static void MenuPointer()
        {
            var  menu        = new MenuController.Menu(new string[] { "Mercury", "Earth", "Mars", "Jupiter", "Saturn", "Neptune" });
            var  menuPainter = new MenuController.ConsoleMenuPainter(menu);
            bool done        = false;

            menu.MoveUp();
            do
            {
                menuPainter.Paint(3, 2);
                var keyInfo = Console.ReadKey();
                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.MoveUp(); break;

                case ConsoleKey.DownArrow: menu.MoveDown(); break;

                case ConsoleKey.Enter: done = true; break;
                }
            }while (!done);

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine($"Selected option: {menu.SelectedOption ?? "(nothing)"}");
            Thread.Sleep(1000);

            PlanetMenu.Display(menu.SelectedOption);
        }
Exemple #2
0
        public static void Menu(string planetName)
        {
            var options = new MenuController.Menu(new string[] { "yes", "no", "Go Back" });

            if (planetName == "Earth")
            {
                if (Game.playerItems.WeatherController > 0 && Game.BplanetItem.WeatherController < 1)
                {
                    options = new MenuController.Menu(new string[] { "Request 500 more trees", "Install Weather Controller", "Go Back" });
                }
                else if (Game.BplanetItem.WeatherController > 0 && Game.playerItems.Plasma > 9)
                {
                    options = new MenuController.Menu(new string[] { "Request 500 more trees", "Power-up Weather Controller", "Go Back" });
                }
                else if (Game.playerItems.WeatherController < 1)
                {
                    options = new MenuController.Menu(new string[] { "Request 500 more trees", "Go Back" });
                }
            }
            var  optionsPainter = new MenuController.ConsoleMenuPainter(options);
            bool done           = false;

            options.MoveUp();
            do
            {
                optionsPainter.Paint(3, 3);
                var keyInfo = Console.ReadKey();
                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: options.MoveUp(); break;

                case ConsoleKey.DownArrow: options.MoveDown(); break;

                case ConsoleKey.Enter: done = true; break;
                }
            } while (!done);
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine($"Selected option: {options.SelectedOption ?? "(nothing)"}");
            if (options.SelectedOption == "Request 500 more trees")
            {
                Game.playerItems.Trees += 500;
                Console.WriteLine("You are given 500 more trees. ");
            }
            if (options.SelectedOption == "Install Weather Controller")
            {
                Game.playerItems.WeatherController -= Game.read.WeatherController;
                Game.BplanetItem.WeatherController += Game.read.WeatherController;
                Console.WriteLine("You have installed the weather Controller. You still need 10 plasma to power up the machine! ");
            }
            else if (options.SelectedOption == "Power-up Weather Controller")
            {
                Game.playerItems.Plasma -= Game.read.Plasma;
                Game.BplanetItem.Plasma += Game.read.Plasma;
                Console.WriteLine("You have powered up the weather controller with the 10 plasma!");
                Game.Win = true;
            }
            else
            if (options.SelectedOption == "yes")
            {
                if (planetName == "Mercury")
                {
                    if (Game.playerItems.Ice < Game.read.Ice)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("The king of Mercury is upset you tried to rip him off. ");
                        Console.WriteLine("He removes you from the planet. Please try again later! ");
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("The king of Mercury is happy with your trade.");
                        Game.SplanetItem.Plasma  = 0;
                        Game.playerItems.Ice    -= Game.read.Ice;
                        Game.playerItems.Plasma += Game.read.Plasma;
                        Console.WriteLine($"You now have {Game.playerItems.Plasma} plasma!");
                    }
                }
                else if (planetName == "Mars")
                {
                    if (Game.playerItems.Trees < Game.read.Trees)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("The king of Mars is upset you tried to rip him off. ");
                        Console.WriteLine("He removes you from the planet. Please try again later! ");
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("The king of Mars is happy with your trade.");
                        Game.SplanetItem.FlyingSaucers  = 0;
                        Game.playerItems.Trees         -= Game.read.Trees;
                        Game.playerItems.FlyingSaucers += Game.read.FlyingSaucers;
                        Console.WriteLine($"You now have {Game.playerItems.Trees} Trees!");
                    }
                }
                else if (planetName == "Jupiter")
                {
                    if (Game.playerItems.Plasma < Game.read.Plasma)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("The king of Jupiter is upset you tried to rip him off. ");
                        Console.WriteLine("He removes you from the planet. Please try again later! ");
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("The king of Jupiter is happy with your trade.");
                        Game.SplanetItem.WeatherController  = 0;
                        Game.playerItems.Plasma            -= Game.read.Plasma;
                        Game.playerItems.WeatherController += Game.read.WeatherController;
                        Console.WriteLine($"You now have {Game.playerItems.WeatherController} weather controller!");
                    }
                }
                else if (planetName == "Saturn")
                {
                    if (Game.playerItems.FlyingSaucers < Game.read.FlyingSaucers)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("The king of Saturn is upset you tried to rip him off. ");
                        Console.WriteLine("He removes you from the planet. Please try again later! ");
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("The king of Saturn is happy with your trade.");
                        Game.SplanetItem.SatelliteStations  = 0;
                        Game.playerItems.FlyingSaucers     -= Game.read.FlyingSaucers;
                        Game.playerItems.SatelliteStations += Game.read.Satelites;
                        Console.WriteLine($"You now have {Game.playerItems.SatelliteStations} Satellite Stations.");
                    }
                }
                else if (planetName == "Neptune")
                {
                    if (Game.playerItems.SatelliteStations < Game.read.Satelites)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("The king of Neptune is upset you tried to rip him off. ");
                        Console.WriteLine("He removes you from the planet. Please try again later! ");
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("The king of Saturn is happy with your trade.");
                        Game.SplanetItem.Ice = 0;
                        Game.playerItems.SatelliteStations -= Game.read.Satelites;
                        Game.playerItems.Ice += Game.read.Ice;
                        Console.WriteLine($"You now have {Game.playerItems.Ice} Satellite Stations.");
                    }
                }
            }
            else if (options.SelectedOption == "no")
            {
                Display(planetName);
            }
            else
            {
                Thread.Sleep(2000);
                Game.MainMenu();
            }

            Thread.Sleep(2000);
            Game.MainMenu();
        }