internal static bool GetClass(Player player, CurrentSpell spell) { if (player.Hero == "mage") { return(CheckCooldownMage(player, spell)); } else { return(CheckCoolDownWarr(player, spell)); } }
public static void GoToActionResultScreen(Player warr, Player mage, CurrentSpell spell) { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"PLAYER {warr.Name} USED {spell.Name} ON {mage.Name} FOR {spell.Damage} DAMAGE {spell.CritHit}"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } }
public static bool SpellsExceptional(CurrentSpell spell) { List <string> spells = new List <string>() { "mirrorimage", "SHIELD SLAM", "polymorph", "frozenground" , "manaregeneration", "icyveins", "amplifier", "hibernate", "frostarmor", "firearmor", "critical", "berserk", "armorup" }; if (spells.Contains(spell.Name)) { return(true); } else { return(false); } }
public static CurrentSpell ClassChecker(Player mage) { var currentSpell = new CurrentSpell(); if (mage.Type == "frost") { currentSpell = FrostMageCommands(mage); } else if (mage.Type == "fire") { currentSpell = FireMageCommands(mage); } else { currentSpell = ArcaneMageCommands(mage); } return(currentSpell); }
public static CurrentSpell ClassChecker(Player warrior) { var currentSpell = new CurrentSpell(); if (warrior.Type == "berserker") { currentSpell = BerserkerCommands(warrior); } else if (warrior.Type == "swordmaster") { currentSpell = SwordMCommands(warrior); } else { currentSpell = ProtectorCommands(warrior); } return(currentSpell); }
internal static void GoToActionResultScreenExceptions(Player warr, Player mage, CurrentSpell spell) { if (warr.Hero == "warrior") { if (spell.Name == "hibernate" || spell.Name == "armorup" || spell.Name == "SHIELD SLAM") { if (spell.Name == "armorup") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} USED ARMOR UP AND GAINED 200 ARMOR"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else if (spell.Name == "hibernate") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} USED HIBERNATE AND HEALED FOR {warr.HealthRegen *4}"); Console.WriteLine($"{warr.Name} GAINED 50% DAMAGE REDUCTION FOR OPPONENT'S TURN"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} USED {spell.Name} ON {mage.Name} FOR {spell.Damage} DAMAGE"); Console.WriteLine($"{mage.Name} LOSES HIS TURN"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } } else if (spell.Name == "mirrorimage" || spell.Name == "berserk" || spell.Name == "critical") { if (spell.Name == "critical") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} LEVELED UP HIS CRITICAL STRIKE"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else if (spell.Name == "mirrorimage") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} USED MIRROR IMAGE ON {mage.Name} FOR {spell.Damage} DAMAGE {spell.CritHit}"); Console.WriteLine($"{mage.Name} LOSES 1 TURN"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{warr.Name} HAS GONE BERSERK LOSING 200 HP WHILE GAINING DOUBLE DAMAGE FOR 3 ROUNDS"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } } } else { if (spell.Name == "frostarmor" || spell.Name == "firearmor") { if (spell.Name == "frostarmor") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{mage.Name} USED FROST ARMOR AND GAINED 150 ARMOR"); Console.WriteLine($"{mage.Name} GAINED 20% PHYSICAL DAMAGE REDUCTION FOR 2 ROUNDS"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"PLAYER {mage.Name} USED FIRE ARMOR AND GAINED 150 ARMOR AND 150 HEALTH"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } } else if (spell.Name == "polymorph" || spell.Name == "frozenground") { if (spell.Name == "polymorph") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{mage.Name} USED POLYMORPH ON {warr.Name}"); Console.WriteLine($"{warr.Name} LOSES 2 TURNS..."); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"PLAYER {mage.Name} USED FROZEN GROUND ON {warr.Name} FOR A TOTAL OF {spell.Damage * 2} DAMAGE"); Console.WriteLine($"PLAYER {warr.Name} LOSES 1 TURN"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } } else if (spell.Name == "amplifier" || spell.Name == "icyveins" || spell.Name == "manaregeneration") { if (spell.Name == "amplifier") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{mage.Name} USED AMPLIFY MAGIC AND NOW HAS 2X SPELL POWER FOR 3 TURNS"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else if (spell.Name == "manaregeneration") { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{mage.Name} USED MANA REGENERATION AND GAINED 300 MANA"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } else { var enter = new ConsoleKeyInfo(); Console.Clear(); while (enter.Key != ConsoleKey.Enter) { Console.WriteLine($"{mage.Name} USED ICY VEINS AND NOW HAS 50% MORE SPELL POWER"); Console.WriteLine($"{mage.Name} LOSES 1 COOLDOWN POINT ON ALL OTHER SPELLS"); Console.WriteLine(); PrintCharacterStats.Print(mage, warr); enter = Console.ReadKey(); Console.Clear(); } } } } }
//Cooldown checker for warriors public static bool CheckCoolDownWarr(Player warrior, CurrentSpell spell) { if (warrior.Type == "swordmaster") { if (spell.Name == "WINDFURY") { if (warrior.WindFuryCooldown <= 0) { warrior.MirrorImageCooldown--; warrior.WindFuryCooldown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "mirrorimage") { if (warrior.MirrorImageCooldown <= 0) { warrior.WindFuryCooldown--; warrior.MirrorImageCooldown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "BLADE SLASH") { warrior.WindFuryCooldown--; warrior.MirrorImageCooldown--; return(false); } else if (spell.Name == "critical") { warrior.WindFuryCooldown--; warrior.MirrorImageCooldown--; return(false); } else { return(true); } } else if (warrior.Type == "berserker") { if (spell.Name == "AXE CHOP") { warrior.BerserkModeCooldown--; warrior.WildAxesCooldown--; return(false); } else if (spell.Name == "berserk") { if (warrior.BerserkModeCooldown <= 0) { warrior.WildAxesCooldown--; warrior.BerserkModeCooldown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "WILD AXES") { if (warrior.WildAxesCooldown <= 0) { warrior.BerserkModeCooldown--; warrior.WildAxesCooldown = spell.Cooldown; return(false); } } else { return(true); } } else { if (spell.Name == "armorup") { warrior.HibernateCooldown--; return(false); } else if (spell.Name == "MACE SWING") { warrior.HibernateCooldown--; return(false); } else if (spell.Name == "hibernate") { if (warrior.HibernateCooldown <= 0) { warrior.HibernateCooldown = 3; return(false); } else { return(true); } } else { warrior.HibernateCooldown--; return(false); } } return(true); }
//Cooldown checker for mages public static bool CheckCooldownMage(Player mage, CurrentSpell spell) { if (mage.Type == "fire") { if (spell.Name == "firearmor") { if (mage.FireArmorCoolDown <= 0) { mage.PyroBlastCoolDown--; mage.FireArmorCoolDown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "FIRE BLAST") { mage.FireArmorCoolDown--; mage.PyroBlastCoolDown--; return(false); } else { if (mage.PyroBlastCoolDown <= 0) { mage.FireArmorCoolDown--; mage.PyroBlastCoolDown = spell.Cooldown; return(false); } else { return(true); } } } else if (mage.Type == "frost") { if (spell.Name == "icyveins") { if (mage.IcyVeinsCoolDown <= 0) { mage.FrostArmorCoolDown--; mage.FrostArmorCoolDown--; mage.FrozenGroundCoolDown--; mage.FrozenGroundCoolDown--; mage.IcyVeinsCoolDown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "frozenground") { if (mage.FrozenGroundCoolDown <= 0) { mage.IcyVeinsCoolDown--; mage.FrostArmorCoolDown--; mage.FrozenGroundCoolDown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "frostarmor") { if (mage.FrostArmorCoolDown <= 0) { mage.IcyVeinsCoolDown--; mage.FrozenGroundCoolDown--; mage.FrostArmorCoolDown = spell.Cooldown; return(false); } else { return(true); } } else { mage.IcyVeinsCoolDown--; mage.FrozenGroundCoolDown--; mage.FrostArmorCoolDown--; return(false); } } else { if (spell.Name == "polymorph") { if (mage.PolymorphCoolDown <= 0) { mage.ManaRegCoolDown--; mage.AmplifierCoolDown--; mage.PolymorphCoolDown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "amplifier") { if (mage.AmplifierCoolDown <= 0) { mage.ManaRegCoolDown--; mage.PolymorphCoolDown--; mage.AmplifierCoolDown = spell.Cooldown; return(false); } else { return(true); } } else if (spell.Name == "manaregeneration") { if (mage.ManaRegCoolDown <= 0) { mage.PolymorphCoolDown--; mage.AmplifierCoolDown--; mage.ManaRegCoolDown = spell.Cooldown; return(false); } else { return(true); } } else { mage.PolymorphCoolDown--; mage.AmplifierCoolDown--; mage.ManaRegCoolDown--; return(false); } } }
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); }