Beispiel #1
0
 public void GetTitleTest( )
 {
     for (int i = 0; i < 1000; i++)
     {
         Console.WriteLine(GameTitle.GetTitle(true));
     }
 }
Beispiel #2
0
        public static void GenerateNewTitle( )
        {
            if (AppSettings.Current.AllowRandomTitle)
            {
                AppSettings.Current.GameTitle = GameTitle.GetTitle(AppSettings.Current.AllowRandomTitleRoot);
            }
            else
            {
                AppSettings.Current.GameTitle = GameTitle.Defult;
            }

            App.Current.WindowTitle = AppSettings.Current.GameTitle.Content;
        }
Beispiel #3
0
        public static string SelectType(string playerName)
        {
            int            counter = 1;
            ConsoleKeyInfo enter   = new ConsoleKeyInfo();

            Console.Clear();
            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string classSelect = $"SELECT HERO TYPE FOR PLAYER {playerName}";
                string warrOption  = "WARRIOR";
                string mageOption  = "MAGE";
                string quit        = "QUIT";
                Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (classSelect.Length / 2)) + "}", classSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (mageOption.Length / 2)) + "}", "-> " + mageOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (warrOption.Length / 2)) + "}", warrOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (quit.Length / 2)) + "}", quit); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (mageOption.Length / 2)) + "}", mageOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (warrOption.Length / 2)) + "}", "-> " + warrOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (quit.Length / 2)) + "}", quit); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (mageOption.Length / 2)) + "}", mageOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (warrOption.Length / 2)) + "}", warrOption);
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (quit.Length / 2)) + "}", "-> " + quit); break;

                default:
                    if (counter == 4)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (mageOption.Length / 2)) + "}", "-> " + mageOption);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (warrOption.Length / 2)) + "}", warrOption);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (quit.Length / 2)) + "}", quit); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 3;
                        Console.ForegroundColor = ConsoleColor.Yellow;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (mageOption.Length / 2)) + "}", mageOption);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (warrOption.Length / 2)) + "}", warrOption);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (quit.Length / 2)) + "}", "-> " + quit); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            switch (counter)
            {
            case 1:
            {
                var currentType = "mage";
                return(currentType);
            };

            default:
            {
                var currentType = "warrior";
                return(currentType);
            };
            }
        }
Beispiel #4
0
        public static string ClassSelection(Player player)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();
            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                if (player.Hero == "mage")
                {
                    string classSelect = $"CHARACTER CLASS SELECT FOR {player.Name}";
                    string fireMOpt    = "FIRE MAGE";
                    string arcaneMOpt  = "ARCANE MAGE";
                    string frostMOpt   = "FROST MAGE";
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (classSelect.Length / 2)) + "}", classSelect);
                    switch (counter)
                    {
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (fireMOpt.Length / 2)) + "}", "-> " + fireMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (arcaneMOpt.Length / 2)) + "}", arcaneMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (frostMOpt.Length / 2)) + "}", frostMOpt); break;

                    case 2:
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (fireMOpt.Length / 2)) + "}", fireMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (arcaneMOpt.Length / 2)) + "}", "-> " + arcaneMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (frostMOpt.Length / 2)) + "}", frostMOpt); break;

                    case 3:
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (fireMOpt.Length / 2)) + "}", fireMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (arcaneMOpt.Length / 2)) + "}", arcaneMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (frostMOpt.Length / 2)) + "}", "-> " + frostMOpt); break;

                    default:
                        if (counter == 4)
                        {
                            counter = 1;
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (fireMOpt.Length / 2)) + "}", "-> " + fireMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (arcaneMOpt.Length / 2)) + "}", arcaneMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (frostMOpt.Length / 2)) + "}", frostMOpt); break;
                        }
                        else if (counter == 0)
                        {
                            counter = 3;
                            Console.ForegroundColor = ConsoleColor.Blue;
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (fireMOpt.Length / 2)) + "}", fireMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (arcaneMOpt.Length / 2)) + "}", arcaneMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (frostMOpt.Length / 2)) + "}", "-> " + frostMOpt); break;
                        }
                        break;
                    }
                    enter = Console.ReadKey();
                    Console.Clear();
                }
                else
                {
                    string classSelect  = $"CHARACTER CLASS SELECT FOR {player}";
                    string berserkerOpt = "BERSERKER";
                    string swordMOpt    = "SWORDMASTER";
                    string protectorOpt = "PROTECTOR";
                    Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (classSelect.Length / 2)) + "}", classSelect);
                    switch (counter)
                    {
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (swordMOpt.Length / 2)) + "}", "-> " + swordMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (berserkerOpt.Length / 2)) + "}", berserkerOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (protectorOpt.Length / 2)) + "}", protectorOpt); break;

                    case 2:
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (swordMOpt.Length / 2)) + "}", swordMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (berserkerOpt.Length / 2)) + "}", "-> " + berserkerOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (protectorOpt.Length / 2)) + "}", protectorOpt); break;

                    case 3:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (swordMOpt.Length / 2)) + "}", swordMOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (berserkerOpt.Length / 2)) + "}", berserkerOpt);
                        Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (protectorOpt.Length / 2)) + "}", "-> " + protectorOpt); break;

                    default:
                        if (counter == 4)
                        {
                            counter = 1;
                            Console.ForegroundColor = ConsoleColor.Green;
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (swordMOpt.Length / 2)) + "}", "-> " + swordMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (berserkerOpt.Length / 2)) + "}", berserkerOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (protectorOpt.Length / 2)) + "}", protectorOpt); break;
                        }
                        else if (counter == 0)
                        {
                            counter = 3;
                            Console.ForegroundColor = ConsoleColor.Cyan;
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (swordMOpt.Length / 2)) + "}", swordMOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (berserkerOpt.Length / 2)) + "}", berserkerOpt);
                            Console.WriteLine("{0," + ((Console.WindowWidth / 2) + (protectorOpt.Length / 2)) + "}", "-> " + protectorOpt); break;
                        }
                        break;
                    }
                    enter = Console.ReadKey();
                    Console.Clear();
                }
            }
            if (player.Hero == "mage")
            {
                switch (counter)
                {
                case 1:
                    return("fire");

                case 2:
                    return("arcane");

                default:
                    return("frost");
                }
            }
            else
            {
                switch (counter)
                {
                case 1:
                    return("swordmaster");

                case 2:
                    return("berserker");

                default:
                    return("protector");
                }
            }
        }
        private static CurrentSpell ArcaneMageCommands(Player mage)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();

            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {mage.Name}";
                string polymorph    = $"POLYMORPH-- DISABLE TARGET FOR 2 TURNS, COST: 200 MANA, COOLDOWN: 4";
                string arcaneBlast  = $"ARCANE BLAST-- DAMAGE:{mage.Spellpower * 3}, COST: 90 MANA, , NO COOLDOWN";
                string amplifier    = $"AMPLIFY MAGIC-- DOUBLE SPELL DAMAGE FOR NEXT 2 TURNS, COST: 250 MANA, COOLDOWN: 4";
                string manaRegen    = $"MANA REGENERATION-- GET 300 MANA, COOLDOWN: 3";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", "-> " + polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", "-> " + arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", "-> " + amplifier);
                    Console.WriteLine("{0,2}", manaRegen); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Magenta;
                    Console.WriteLine("{0,2}", polymorph);
                    Console.WriteLine("{0,2}", arcaneBlast);
                    Console.WriteLine("{0,2}", amplifier);
                    Console.WriteLine("{0,2}", "-> " + manaRegen); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        Console.WriteLine("{0,2}", "-> " + polymorph);
                        Console.WriteLine("{0,2}", arcaneBlast);
                        Console.WriteLine("{0,2}", amplifier);
                        Console.WriteLine("{0,2}", manaRegen); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Magenta;
                        Console.WriteLine("{0,2}", polymorph);
                        Console.WriteLine("{0,2}", arcaneBlast);
                        Console.WriteLine("{0,2}", amplifier);
                        Console.WriteLine("{0,2}", "-> " + manaRegen); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var polymorph = new Polymorph();
                currentSpell = polymorph.GetPolymorph(mage);
                break;

            case 2:
                var arcaneBlast = new ArcaneBlast();
                currentSpell = arcaneBlast.GetArcaneBlast(mage);
                break;

            case 3:
                var amplifier = new Amplifier();
                currentSpell = amplifier.GetAmplifier(mage);
                break;

            default:
                var manaReg = new ManaRegeneration();
                currentSpell = manaReg.GetManaReg(mage);
                break;
            }

            return(currentSpell);
        }
        private static CurrentSpell FrostMageCommands(Player mage)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();

            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {mage.Name}";
                string frostArmor   = $"FROST ARMOR-- GET 150 ARMOR, LOWER PHYSICAL DAMAGE BY 20% FOR 2 TURNS, COST: 100 MANA, COOLDOWN: 3";
                string frostBolt    = $"FROST BOLT-- DAMAGE ENEMY FOR {mage.Spellpower * 2}, LOWER ENEMY PHYSICAL DAMAGE DONE BY 20% FOR 2 TURNS, COST: 90 MANA, NO COOLDOWN";
                string icyVeins     = $"ICY VEINS-- LOWER COOLDOWN ON ALL SPELLS BY 1 TURN, GET 50% MORE SPELLPOWER FOR NEXT 3 TURNS, COST: 250 MANA, COOLDOWN: 4";
                string frozenGround = $"FROZEN GROUND-- STUN ENEMY FOR 1 TURN AND DAMAGE HIM FOR 2 TURNS BY {mage.Spellpower}, COST: 150 MANA, COOLDOWN: 4";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", "-> " + frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", "-> " + frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", "-> " + icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", "-> " + frozenGround); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0,2}", "-> " + frostArmor);
                        Console.WriteLine("{0,2}", frostBolt);
                        Console.WriteLine("{0,2}", icyVeins);
                        Console.WriteLine("{0,2}", frozenGround); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0,2}", frostArmor);
                        Console.WriteLine("{0,2}", frostBolt);
                        Console.WriteLine("{0,2}", icyVeins);
                        Console.WriteLine("{0,2}", "-> " + frozenGround); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var frostArmor = new FrostArmor();
                currentSpell = frostArmor.GetFrostArmor(mage);
                break;

            case 2:
                var frostBolt = new FrostBolt();
                currentSpell = frostBolt.GetFrostBolt(mage);
                break;

            case 3:
                var icyVeins = new IcyVeins();
                currentSpell = icyVeins.GetIcyVeins(mage);
                break;

            default:
                var frozenGround = new FrozenGround();
                currentSpell = frozenGround.GetFrozenGround(mage);
                break;
            }

            return(currentSpell);
        }
        private static CurrentSpell FireMageCommands(Player mage)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();

            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {mage.Name}";
                string fireBlast    = $"FIRE BLAST-- DAMAGE:{mage.Spellpower * 2} COST: 120 MANA, NO COOLDOWN";
                string fireArmor    = $"FIRE ARMOR-- GET 150 ARMOR AND 150 HEALTH, COST: 80 MANA, COOLDOWN: 3";
                string pyroBlast    = $"PYRO BLAST-- DAMAGE:{mage.Spellpower * 5} COST: 250 MANA, COOLDOWN: 4";
                string incinerate   = $"INCINERATE-- KILL ENEMY IF ENEMY HP IS BELOW 900";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", "-> " + fireBlast);
                    Console.WriteLine("{0,2}", fireArmor);
                    Console.WriteLine("{0,2}", pyroBlast);
                    Console.WriteLine("{0,2}", incinerate); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", fireBlast);
                    Console.WriteLine("{0,2}", "-> " + fireArmor);
                    Console.WriteLine("{0,2}", pyroBlast);
                    Console.WriteLine("{0,2}", incinerate); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", fireBlast);
                    Console.WriteLine("{0,2}", fireArmor);
                    Console.WriteLine("{0,2}", "-> " + pyroBlast);
                    Console.WriteLine("{0,2}", incinerate); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", fireBlast);
                    Console.WriteLine("{0,2}", fireArmor);
                    Console.WriteLine("{0,2}", pyroBlast);
                    Console.WriteLine("{0,2}", "-> " + incinerate); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0,2}", "-> " + fireBlast);
                        Console.WriteLine("{0,2}", fireArmor);
                        Console.WriteLine("{0,2}", pyroBlast);
                        Console.WriteLine("{0,2}", incinerate); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0,2}", fireBlast);
                        Console.WriteLine("{0,2}", fireArmor);
                        Console.WriteLine("{0,2}", pyroBlast);
                        Console.WriteLine("{0,2}", "-> " + incinerate); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var fireBlast = new FireBlast();
                currentSpell = fireBlast.GetFireBlast(mage);
                break;

            case 2:
                var fireArmor = new FireArmor();
                currentSpell = fireArmor.GetFireArmor(mage);
                break;

            case 3:
                var pyroBlast = new PyroBlast();
                currentSpell = pyroBlast.GetPyroBlast(mage);
                break;

            default:
                var incinerate = new Incinerate();
                currentSpell = incinerate.Incineration(mage);
                break;
            }

            return(currentSpell);
        }
        private static CurrentSpell ProtectorCommands(Player warrior)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();
            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {warrior.Name}";
                string shieldSlam   = $"SHIELD SLAM-- DEAL {warrior.Armor} DAMAGE, STUN OPPONENT FOR HIS TURN, COOLDOWN: 2";
                string maceSwing    = $"MACE SWING-- DAMAGE:{warrior.Damage * 1.5}, NO COOLDOWN";
                string armorUp      = $"ARMOR UP-- GAIN 200 ARMOR, NO COOLDOWN";
                string hibernate    = $"HIBERNATE-- HEAL FOR {warrior.HealthRegen*4}, TAKE 50% DAMAGE REDUCTION FOR OPPONENT'S TURN, COOLDOWN: 3";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("{0,2}", "-> " + shieldSlam);
                    Console.WriteLine("{0,2}", maceSwing);
                    Console.WriteLine("{0,2}", armorUp);
                    Console.WriteLine("{0,2}", hibernate);
                    break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("{0,2}", shieldSlam);
                    Console.WriteLine("{0,2}", "-> " + maceSwing);
                    Console.WriteLine("{0,2}", armorUp);
                    Console.WriteLine("{0,2}", hibernate);
                    break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("{0,2}", shieldSlam);
                    Console.WriteLine("{0,2}", maceSwing);
                    Console.WriteLine("{0,2}", "-> " + armorUp);
                    Console.WriteLine("{0,2}", hibernate);
                    break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("{0,2}", shieldSlam);
                    Console.WriteLine("{0,2}", maceSwing);
                    Console.WriteLine("{0,2}", armorUp);
                    Console.WriteLine("{0,2}", "-> " + hibernate);
                    break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("{0,2}", "-> " + shieldSlam);
                        Console.WriteLine("{0,2}", maceSwing);
                        Console.WriteLine("{0,2}", armorUp);
                        Console.WriteLine("{0,2}", hibernate); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("{0,2}", shieldSlam);
                        Console.WriteLine("{0,2}", maceSwing);
                        Console.WriteLine("{0,2}", armorUp);
                        Console.WriteLine("{0,2}", "-> " + hibernate); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var shieldSlam = new ShieldSlam();
                currentSpell = shieldSlam.GetShieldSlam(warrior);
                break;

            case 2:
                var maceSwing = new MaceSwing();
                currentSpell = maceSwing.GetMaceSwing(warrior);
                break;

            case 3:
                var armorUpSpell = new ArmorUp();
                currentSpell = armorUpSpell.GetArmorUp(warrior);
                break;

            default:
                var hibernate = new Hibernate();
                currentSpell = hibernate.GetHibernate(warrior);
                break;
            }

            return(currentSpell);
        }
        private static CurrentSpell BerserkerCommands(Player warrior)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();
            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }
                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {warrior.Name}";
                string goBerserk    = $"BERSERK MODE-- DO DOUBLE DAMAGE FOR NEXT 3 ROUNDS, COST: 200HP, COOLDOWN: 5";
                string axeChop      = $"AXE CHOP-- DAMAGE:{warrior.Damage * 2}, NO COOLDOWN";
                string wildAxes     = $"WILD AXES-- DAMAGE:{warrior.Damage * 4}, COOLDOWN: 3";
                string execute      = $"EXECUTE-- KILL ENEMY IF HIS HP IS BELOW 700";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", "-> " + goBerserk);
                    Console.WriteLine("{0,2}", axeChop);
                    Console.WriteLine("{0,2}", wildAxes);
                    Console.WriteLine("{0,2}", execute); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", goBerserk);
                    Console.WriteLine("{0,2}", "-> " + axeChop);
                    Console.WriteLine("{0,2}", wildAxes);
                    Console.WriteLine("{0,2}", execute); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", goBerserk);
                    Console.WriteLine("{0,2}", axeChop);
                    Console.WriteLine("{0,2}", "-> " + wildAxes);
                    Console.WriteLine("{0,2}", execute); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("{0,2}", goBerserk);
                    Console.WriteLine("{0,2}", axeChop);
                    Console.WriteLine("{0,2}", wildAxes);
                    Console.WriteLine("{0,2}", "-> " + execute); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0,2}", "-> " + goBerserk);
                        Console.WriteLine("{0,2}", axeChop);
                        Console.WriteLine("{0,2}", wildAxes);
                        Console.WriteLine("{0,2}", execute); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("{0,2}", goBerserk);
                        Console.WriteLine("{0,2}", axeChop);
                        Console.WriteLine("{0,2}", wildAxes);
                        Console.WriteLine("{0,2}", "-> " + execute); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var berserk = new Berserk();
                currentSpell = berserk.GoBerserk(warrior);
                break;

            case 2:
                var axeHit = new AxeChop();
                currentSpell = axeHit.GetHit(warrior);
                break;

            case 3:
                var wildAxe = new WildAxes();
                currentSpell = wildAxe.GetWildAxes(warrior);
                break;

            default:
                var execution = new Execute();
                currentSpell = execution.GetExecution(warrior);
                break;
            }
            return(currentSpell);
        }
        private static CurrentSpell SwordMCommands(Player warrior)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();
            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }
                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {warrior.Name}";
                string levelUpCrit  = $"CRITICAL STRIKE-- LOSE THIS TURN AND HAVE 30% CHANCE FOR 2X CRITICAL STRIKE FOR EACH ACTION YOUR SWORDMASTER DOES UNTIL END OF GAME";
                string mirrorImage  = $"MIRROR IMAGE-- YOUR OPONENT LOSES 1 TURN, YOU DEAL {warrior.Damage} TO HIM, COOLDOWN: 3";
                string bladeSlash   = $"BLADESLASH-- DAMAGE:{warrior.Damage * 2} NO COOLDOWN";
                string windFury     = $"WINDFURY-- DAMAGE:{warrior.Damage * 5} COOLDOWN: 4";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("{0,2}", "-> " + levelUpCrit);
                    Console.WriteLine("{0,2}", mirrorImage);
                    Console.WriteLine("{0,2}", bladeSlash);
                    Console.WriteLine("{0,2}", windFury); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("{0,2}", levelUpCrit);
                    Console.WriteLine("{0,2}", "-> " + mirrorImage);
                    Console.WriteLine("{0,2}", bladeSlash);
                    Console.WriteLine("{0,2}", windFury); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("{0,2}", levelUpCrit);
                    Console.WriteLine("{0,2}", mirrorImage);
                    Console.WriteLine("{0,2}", "-> " + bladeSlash);
                    Console.WriteLine("{0,2}", windFury); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("{0,2}", levelUpCrit);
                    Console.WriteLine("{0,2}", mirrorImage);
                    Console.WriteLine("{0,2}", bladeSlash);
                    Console.WriteLine("{0,2}", "-> " + windFury); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("{0,2}", "-> " + levelUpCrit);
                        Console.WriteLine("{0,2}", mirrorImage);
                        Console.WriteLine("{0,2}", bladeSlash);
                        Console.WriteLine("{0,2}", windFury); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("{0,2}", levelUpCrit);
                        Console.WriteLine("{0,2}", mirrorImage);
                        Console.WriteLine("{0,2}", bladeSlash);
                        Console.WriteLine("{0,2}", "-> " + windFury); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var criticalStrike = new CriticalStrike();
                currentSpell = criticalStrike.TurnOnCrit(warrior);
                break;

            case 2:
                var mirrorImage = new MirrorImage();
                currentSpell = mirrorImage.GetMirrorImage(warrior);
                break;

            case 3:
                var slash = new BladeSlash();
                currentSpell = slash.GetSlash(warrior);
                break;

            default:
                var windfury = new Windfury();
                currentSpell = windfury.GetWindFury(warrior);
                break;
            }
            return(currentSpell);
        }