Exemple #1
0
 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);
     }
 }
Exemple #2
0
        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);
        }