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); }
/// <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); }