public static void TravelAction(Player p, int index) { if (p.CurrentLocation is Crossroads cr) { int destinationIndex = cr.ConnectedTowns[index]; Wilderness wilderness = cr.GenerateWilderness(destinationIndex); p.ChangeLocation(wilderness); UI.InitializeScreen(p); wilderness.Explore(p); } }
public void Explore(Player p) //Not generic enough { Output.WriteCleanPause($"Welcome to {Data.MobLabel}"); Output.WriteGenericText($"This game uses the autosave feature."); Output.WriteGenericText($"I don't care if you turn off your pc while saving."); UI.Pause(); Output.WriteCleanPause($"Let's get you set up with your first {Data.MobLabel}."); title = "Which of the following words you fancy the most?"; description = "Press a corresponding key"; UI.InitializeScreen(p); p.ReadInput(); Console.Clear(); Controls.SelectMobAction(p, 0); Output.WriteCleanPause($"Your new {Data.MobLabel} is {p.Champion.NameRaw}"); Console.Clear(); Output.WriteGenericText("Look how cute it is."); Output.WriteGenericText("This is it's binary representation:"); Thread.Sleep(400); for (int i = 0; i < Console.WindowWidth * 2; i++) { Output.WriteBinary(); } UI.Pause(); Output.WriteCleanPause($"It has {p.Champion.Stats[StatType.health].Value} {Data.Stats[StatType.health].Title}"); Output.WriteGenericText($"The {Data.Stats[StatType.health].Title} represent it's overall health."); UI.Pause(); Output.WriteGenericText($"If a {Data.MobLabel} runs out of pixels, it'll throw an exception"); Output.WriteGenericText($"and won't be able to fight until healed."); UI.Pause(); Output.WriteCleanPause($"It also has {p.Champion.Stats[StatType.energy].Value} {Data.Stats[StatType.energy].Title}"); Output.WriteGenericText($"The {Data.Stats[StatType.energy].Title} are used for special abilities."); UI.Pause(); Output.WriteGenericText($"Every {Data.MobLabel} has special abilities and it needs {Data.Stats[StatType.energy].Title} to use them."); UI.Pause(); Output.WriteGenericText($"You will discover more abilities as you catch more {Data.MobLabel}."); UI.Pause(); Output.WriteCleanPause($"It also has {p.Champion.Stats[StatType.defence].Value} {Data.Stats[StatType.defence].Title} and {p.Champion.Stats[StatType.attack].Value} {Data.Stats[StatType.attack].Title}"); Output.WriteGenericText($"Those stats determine the damage your {Data.MobLabel} receives and inflicts."); UI.Pause(); Output.WriteCleanPause($"Travel around, catch more {Data.MobLabel}s and become the master of this shit."); Output.WriteCleanPause("\"shit\""); Output.WritelineColor("ERROR: 'shit' threw an exception. Profanity filter not implemented.", Settings.DefaulteEnemyColor); UI.Pause(); Output.WritelineColor("Aborting Tutorial...", Settings.DefaulteEnemyColor); UI.Pause(); Output.WritelineColor("Good Luck", ConsoleColor.Green); UI.Pause(); Wilderness w = new Wilderness(Data.Towns[0], Data.Towns[1]); p.ChangeLocation(w); w.Explore(p); }