public virtual void DisplayEncounter(Player currentPlayer)
        {
            DisplayEncounterArt();

            Menu encounterMenu = new Menu(Description, EncounterChoices, false);
            int  index         = encounterMenu.Run();

            switch (index)
            {
            case 0:
                Menu leftPathMenu  = new Menu("> As you turn left, you see a narrow passage way. On one side is a dark pit, and you cannot see the bottom. On the other side, you see a dangerous snake. What do you do? ", new string[] { "Fight the Snake" + "  (Enter Combat)".Pastel("#ff0000"), "Try and jump over the pit" + "  (You will probably fall!)".Pastel("#ff0000") }, false);
                int  leftPathIndex = leftPathMenu.Run();
                switch (leftPathIndex)
                {
                case 0:
                    CombatEncounter snakeEncounter = new CombatEncounter("Snake fight", "Snake", "You move toward the Snake!", new string[] { "Attack the Snake!" }, 50, false, @"TEMP ART");
                    snakeEncounter.DisplayEncounter(currentPlayer);
                    WriteLine("After you defeat the Snake, you follow the path down as it heads deeper into the Cave, and ahead of you, you see the Piece of the True Cross! But just behind it is the Gaurdian!! \n> Press any key to continue...");
                    ReadKey(true);

                    GaurdianFight(currentPlayer);
                    break;

                case 1:
                    currentPlayer.PlayerDeath();
                    break;
                }
                break;

            case 1:
                WriteLine("As you turn to the right, you see the large Gaurdian, and behind it, the Piece of the True Cross!");
                GaurdianFight(currentPlayer);
                break;
            }
        }
        public void GaurdianFight(Player currentPlayer)
        {
            CombatEncounter guardianFight  = new CombatEncounter("Gaurdian Fight", "Gaurdian", "You move toward the Gaurdian!", new string[] { "Attack the Gaurdian!" }, 70, true, @"TEMP ART");
            int             preFightHealth = currentPlayer.Health;

            do
            {
                preFightHealth = currentPlayer.Health;
                guardianFight.DisplayEncounter(currentPlayer);
                if (!(preFightHealth == currentPlayer.Health))
                {
                    WriteLine("> Ouch! Looks like that didn't go too well! Better gear up and try again! Press any key to continue...");
                    ReadKey();
                }
            } while (!(preFightHealth == currentPlayer.Health));
        }
        public Game()
        {
            WindowWidth  = 180;
            WindowHeight = 50;

            Title = "The Forgotten Knight";


            CombatEncounter    trollEncounter = new CombatEncounter("The Troll's Bridge", "Troll", "> As you leave the borders of Camelot, you encounter a rundown bridge. As you go to cross it, a Troll pops out! Do you: ", new string[] { "Attack it" + "  (Enter Combat)".Pastel("#ff0000"), "Bribe it", "Ford the River" + "  (You might drown!)".Pastel("#ff0000") }, 30, false, @"TEMP ART");
            CombatEncounter    scottishClan   = new CombatEncounter("The Scottish Clan's Camp", "Scottish Clan", "> After you encountered the Troll, you next stumble upon a camp of Scottish Highlanders! Do you: ", new string[] { "Attack them" + "  (Enter Combat)".Pastel("#ff0000"), "Bribe them", "Try to avoid them" + "  (You will probably get spotted!)".Pastel("#ff0000") }, 50, true, @"TEMP ART");
            DiscoveryEncounter ruinedTower    = new DiscoveryEncounter("The Ruined Tower", "As you continue on your journey, you come across a Ruined Tower, with one full side of the tower piled in a heap at the bottom. When you enter it you discover a partially intact staircase leading up, and a staircase leading downwards. Both look so fragile, you know you'll only have one chance at entering and leaving, where do you go? ", new string[] { "Climb to the upper room", "Head down to the lower room" }, new SpecialItem("Map", ConsoleColor.DarkMagenta), @"TEMP ART");
            CombatEncounter    romanCamp      = new CombatEncounter("The Ruined Roman Fort", "Bandits", "> As you leave the Ruined Tower, you happen across a ruined Roman Fort, a leftover from the glory days of the Empire. As you slowly enter the fort, you see a large group of bandits hiding along the crumbling walls! Do you:", new string[] { "Spring the Ambush and fight it out" + "  (Enter Combat)".Pastel("#ff0000"), "Bribe them", "Try and run past them, deeper into the Fort" + "  (You will probably get spotted!)".Pastel("#ff0000") }, 60, true, @"TEMP ART");
            DiscoveryEncounter irishMonks     = new DiscoveryEncounter("The Irish Monk's Pilgramage", "> After your encounter with the bandits, you find a group of bedraggled Irish Monks who have clearly been harrassed by the bandits. As you approach them, they begin to yell and scream, beseeching God to protect them. Do you: ", new string[] { "Help them", "Give them some coin and direct them away", "Abandon them to their fate!" }, new SpecialItem("Chest Key", ConsoleColor.DarkGreen), @"TEMP ART");
            DiscoveryEncounter wrongCave      = new DiscoveryEncounter("The Wrong Cave", "> Having left the Monks, you can feel you are finally nearing your goal, the Piece of the True Cross cries out to you! You climb the large mountains and begin searching the caves for the Piece's location, and finally stumble into one of them as night approaches. You quickly determine this is not the correct cave, but do find a small box", new string[] { "Open the Box" }, new SpecialItem("Chest Key", ConsoleColor.DarkGreen), @"TEMP ART");
            Encounter          correctCave    = new Encounter("The Hiding Place of the Piece of the True Cross", "> After leaving the Wrong Cave, you finally reach your goal! You have found it, the Hiding Place of the Piece of the True Cross, now all you have to do is get it! As you enter the Cave, you see a path leading to your left and a path to your right, which do you take?", new string[] { "The Left Path", "The Right Path" }, @"TEMP ART");

            RunMainMenu();
            InitializePlayer();

            HandleEncounter(trollEncounter);
            BetweenEncounters();

            HandleEncounter(scottishClan);
            BetweenEncounters();

            HandleEncounter(ruinedTower);
            BetweenEncounters();

            HandleEncounter(romanCamp);
            BetweenEncounters();

            HandleEncounter(irishMonks);
            BetweenEncounters();

            if (!CurrentPlayer.HasMap)
            {
                HandleEncounter(wrongCave);
                BetweenEncounters();
            }

            HandleEncounter(correctCave);

            DisplayWinScreen();
        }