Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initialize the terrain map and characters. Should only be called by Level.Init(GameManager,Player,Player)
        /// </summary>
        protected override void Init()
        {
            TerrainMap   = new Terrain.Terrain[4, 4];
            CharacterMap = new Character[4, 4];

            TerrainMap[0, 0] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[0, 1] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[0, 2] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[0, 3] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[1, 0] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[1, 1] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[1, 2] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[1, 3] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[2, 0] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[2, 1] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[2, 2] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[2, 3] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[3, 0] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[3, 1] = Create <Terrain.Terrain>(GameManager.GrassTerrain);
            TerrainMap[3, 2] = Create <Terrain.Terrain>(GameManager.WallTerrain);
            TerrainMap[3, 3] = Create <Terrain.Terrain>(GameManager.ForrestTerrain);

            CharacterMap[0, 0]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[0, 0].Player = AiPlayer;
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].Items.Add(IronSword.Create());
            CharacterMap[0, 0].AddProficiency(new Proficiency(typeof(Sword), Proficiency.Rank.E));

            CharacterMap[0, 1]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[0, 1].Player = AiPlayer;
            CharacterMap[0, 1].Items.Add(IronSword.Create());

            CharacterMap[0, 2]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[0, 2].Player = AiPlayer;
            CharacterMap[0, 2].Items.Add(IronSword.Create());

            CharacterMap[0, 3]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[0, 3].Player = AiPlayer;
            CharacterMap[0, 3].Items.Add(IronSword.Create());

            CharacterMap[2, 3]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[2, 3].Player = AiPlayer;
            CharacterMap[2, 3].Items.Add(IronSword.Create());

            CharacterMap[1, 2]        = Create <Character>(GameManager.WizardPrefab);
            CharacterMap[1, 2].Player = AiPlayer;
            CharacterMap[1, 2].Items.Add(IronSword.Create());
            CharacterMap[1, 2].Items.Add(Incinerate.Create());

            CharacterMap[2, 2]        = Create <Character>(GameManager.WizardPrefab);
            CharacterMap[2, 2].Player = HumanPlayer;
            CharacterMap[2, 2].Items.Add(IronSword.Create());
            CharacterMap[2, 2].Items.Add(Fire.Create());
            CharacterMap[2, 2].AddProficiency(new Proficiency(typeof(FireMagic), Proficiency.Rank.E));
            CharacterMap[2, 2].AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.E));

            CharacterMap[2, 1]           = Create <Character>(GameManager.WizardPrefab);
            CharacterMap[2, 1].Player    = HumanPlayer;
            CharacterMap[2, 1].CurrentHp = 10;
            CharacterMap[2, 1].AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.E));
            CharacterMap[2, 1].Items.Add(Fire.Create());
            CharacterMap[2, 1].AddProficiency(new Proficiency(typeof(FireMagic), Proficiency.Rank.E));

            CharacterMap[3, 3]        = Create <Character>(GameManager.KnightPrefab);
            CharacterMap[3, 3].Player = AiPlayer;
            CharacterMap[3, 3].Items.Add(IronAxe.Create());

            StartPosition = new Vector2(0, 0);
        }