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); }
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(); }