public Enemy(EnemyClassType enemyClass) { _enemyClass = enemyClass; _isAlive = true; switch (enemyClass) { case EnemyClassType.minion: minionType = new Minion("Minion", Alignment.evil); break; case EnemyClassType.creeper: creeperType = new Creeper("Creeper", Alignment.evil); break; case EnemyClassType.skeleton: skeletontype = new Skeleton("Skeleton", Alignment.evil); break; case EnemyClassType.orc: orcType = new Orc("Orc", Alignment.evil); break; default: break; } }
public void AttackPlayer1(HeroClassTypes heroClassTypes, Hero hero, EnemyClassType enemyClass) { int damage = ReturnDamageDealt(enemyClass); int reducedDamage = EnemyDamageReductionFromDefence(damage, heroClassTypes, hero); PlayerHealthReduction1(hero, reducedDamage, heroClassTypes); }
public void AttackEnemy1(HeroClassTypes heroClassTypes, Enemy enemy, EnemyClassType enemyClass, int missFactor) { int damage = ReturnDamageDealt(heroClassTypes, missFactor); int reducedDamage = EnemyDamageReductionFromDefence(damage, enemyClass, enemy); EnemyHealthReduction1(enemy, reducedDamage, enemyClass); }
private int EnemyDamageReductionFromDefence(int damage, EnemyClassType enemyClass, Enemy enemy) { int defence = 0; int reducedDamage = 0; switch (enemyClass) { case EnemyClassType.minion: defence = enemy.minionType.Defence(); reducedDamage = DamageChecker(damage, defence); break; case EnemyClassType.creeper: defence = enemy.creeperType.Defence(); reducedDamage = DamageChecker(damage, defence); break; case EnemyClassType.skeleton: defence = enemy.skeletontype.Defence(); reducedDamage = DamageChecker(damage, defence); break; case EnemyClassType.orc: defence = enemy.orcType.Defence(); reducedDamage = DamageChecker(damage, defence); break; default: break; } DamageDealt = reducedDamage; return(reducedDamage); }
public static void CharacterDisplay(HeroClassTypes heroClass, EnemyClassType enemyClass) { AnimationsData animationsData = new AnimationsData(); int playerIndex; int enemyIndex; string display; playerIndex = ReturnHeroAnimationListNumber(heroClass); enemyIndex = ReturnEnemyAnimationListNumber(enemyClass); display = animationsData.DisplayCharacter(playerIndex, enemyIndex); Console.WriteLine(display); }
public static void AnimationBattle(HeroClassTypes heroClass, EnemyClassType enemyClass, int playerCombatSelecter, int enemyCombatSelecter, Hero hero, Enemy enemy, bool homePage) { MenuQueries.ConsoleClearResetMenu(); int heroAnimationListNumber; int enemyAnimationListNumber; int animationIndex; heroAnimationListNumber = ReturnHeroAnimationListNumber(heroClass); enemyAnimationListNumber = ReturnEnemyAnimationListNumber(enemyClass); animationIndex = ReturnAnimationIndexNumber(playerCombatSelecter, enemyCombatSelecter); AnimationPlay(ReturnAnimationArray(heroAnimationListNumber, enemyAnimationListNumber, animationIndex), heroClass, enemyClass, hero, enemy, homePage); }
public void Fighting(HeroClassTypes heroClassTypes, EnemyClassType enemyClassType, StateManager stateManager, int playerCombatSelecter, int enemyCombatSelecter, Hero playerHero, Enemy enemy) { { if (playerCombatSelecter == 1) { if (enemyCombatSelecter == 1) { playerHero.AttackEnemy1(heroClassTypes, enemy, enemyClassType, stateManager.AttackMissFactor()); enemy.AttackPlayer1(heroClassTypes, playerHero, enemyClassType); MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter); } else if (enemyCombatSelecter == 2) { enemy.EnemyDefend(enemyClassType, true); playerHero.AttackEnemy1(heroClassTypes, enemy, enemyClassType, stateManager.AttackMissFactor()); enemy.EnemyDefend(enemyClassType, false); MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter); } } else if (playerCombatSelecter == 2) { if (enemyCombatSelecter == 1) { playerHero.PlayerDefend(heroClassTypes, true); enemy.AttackPlayer1(heroClassTypes, playerHero, enemyClassType); playerHero.PlayerDefend(heroClassTypes, false); MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter); } else if (enemyCombatSelecter == 2) { playerHero.PlayerDefend(heroClassTypes, true); enemy.EnemyDefend(enemyClassType, true); playerHero.PlayerDefend(heroClassTypes, false); enemy.EnemyDefend(enemyClassType, false); MenuQueries.BattleDisplayPage(heroClassTypes, playerHero, enemy, enemyClassType, false, playerCombatSelecter, enemyCombatSelecter); } } else { playerHero.UseItem(heroClassTypes); } } }
private static string CharacterInformationEnemyNameSheet(Enemy enemy, EnemyClassType enemyClass) { switch (enemyClass) { case EnemyClassType.minion: return(enemy.minionType.Name.ToUpper()); case EnemyClassType.creeper: return(enemy.creeperType.Name.ToUpper()); case EnemyClassType.skeleton: return(enemy.skeletontype.Name.ToUpper()); case EnemyClassType.orc: return(enemy.orcType.Name.ToUpper()); default: return("No Name Available"); } }
private static int ReturnEnemyAnimationListNumber(EnemyClassType enemyClass) { switch (enemyClass) { case EnemyClassType.minion: return(0); case EnemyClassType.creeper: return(1); case EnemyClassType.skeleton: return(2); case EnemyClassType.orc: return(3); default: return(0); } }
private static string CharacterInformationEnemyHealthSheet(Enemy enemy, EnemyClassType enemyClass) { switch (enemyClass) { case EnemyClassType.minion: return(enemy.minionType.Health.ToString()); case EnemyClassType.creeper: return(enemy.creeperType.Health.ToString()); case EnemyClassType.skeleton: return(enemy.skeletontype.Health.ToString()); case EnemyClassType.orc: return(enemy.orcType.Health.ToString()); default: return("No Health Available"); } }
public int GettingHealth(EnemyClassType enemyClass) { switch (enemyClass) { case EnemyClassType.minion: return(minionType.Health); case EnemyClassType.creeper: return(creeperType.Health); case EnemyClassType.skeleton: return(skeletontype.Health); case EnemyClassType.orc: return(orcType.Health); default: return(1); } }
private void EnemyHealthReduction1(Enemy enemy, int damage, EnemyClassType enemyType) { int healthSetter = 0; int enemyHealth = enemy.GettingHealth(enemyType); int currentHealth = enemyHealth - damage; int healthReduction = enemyHealth - damage; if (currentHealth <= 0) { healthSetter = 0; enemy.SettingHealth(enemyType, healthSetter); enemy.IsAlive = false; } else { Console.WriteLine($"You attack for {damage}"); enemy.SettingHealth(enemyType, healthReduction); } }
private int ReturnDamageDealt(EnemyClassType enemyClass) { int damage = 0; ISAttacking = true; switch (enemyClass) { case EnemyClassType.minion: damage = minionType.Attack(); break; case EnemyClassType.creeper: damage = creeperType.Attack(); break; case EnemyClassType.skeleton: damage = skeletontype.Attack(); break; case EnemyClassType.orc: damage = orcType.Attack(); break; default: break; } if (damage == 0) { Console.WriteLine("No damage done!"); ISMissing = true; return(0); } else { ISMissing = false; return(damage); } }
public void SettingHealth(EnemyClassType enemyClass, int healthNewHealthValue) { switch (enemyClass) { case EnemyClassType.minion: minionType.Health = healthNewHealthValue; break; case EnemyClassType.creeper: creeperType.Health = healthNewHealthValue; break; case EnemyClassType.skeleton: skeletontype.Health = healthNewHealthValue; break; case EnemyClassType.orc: orcType.Health = healthNewHealthValue; break; default: break; } }
public void PlayerLevelManager(Enemy enemy, EnemyClassType enemyClass, HeroClassTypes heroClass, StateManager stateManager) { if (enemy.IsAlive == false) { switch (enemyClass) { case EnemyClassType.minion: PlayerExperience += 40; break; case EnemyClassType.creeper: PlayerExperience += 60; break; case EnemyClassType.skeleton: PlayerExperience += 100; break; case EnemyClassType.orc: PlayerExperience += 150; break; default: break; } } if (PlayerExperience >= _expForLevelUp) { stateManager.StoreLevelUpDataOLD(_currentLevel); PlayerLevel++; stateManager.StoreLevelUpDataNEW(_currentLevel); _expForLevelUp = _expForLevelUp + Convert.ToInt32(_expForLevelUp * 2); switch (heroClass) { case HeroClassTypes.spearman: stateManager.StoreLevelUpDataOLD(heroSpear.Health, heroSpear.Strength, heroSpear.Dexterity); heroSpear.LevelUp(); stateManager.StoreLevelUpDataNEW(heroSpear.Health, heroSpear.Strength, heroSpear.Dexterity); break; case HeroClassTypes.swordsman: stateManager.StoreLevelUpDataOLD(heroSword.Health, heroSword.Strength, heroSword.Dexterity); heroSword.LevelUp(); stateManager.StoreLevelUpDataNEW(heroSword.Health, heroSword.Strength, heroSword.Dexterity); break; case HeroClassTypes.ranger: stateManager.StoreLevelUpDataOLD(heroRanger.Health, heroRanger.Strength, heroRanger.Dexterity); heroRanger.LevelUp(); stateManager.StoreLevelUpDataNEW(heroRanger.Health, heroRanger.Strength, heroRanger.Dexterity); break; default: break; } MenuQueries.CharacterLevelUp(stateManager); Console.ReadKey(); } }
private static void AnimationPlay(string[] animationClip, HeroClassTypes heroClass, EnemyClassType enemyClass, Hero hero, Enemy enemy, bool homePage) { int delayBetweenAnimationCycles = 250; for (int i = 0; i < animationClip.Length; i++) { MenuQueries.CharacterInformationSheet(heroClass, hero, enemy, enemyClass); Utilities.ColorWriteLines(animationClip[i], ConsoleColor.Gray); MenuQueries.CharacterInformationBattleSheet(hero, enemy, homePage); Thread.Sleep(delayBetweenAnimationCycles); MenuQueries.ConsoleClearResetMenu(); } for (int i = animationClip.Length - 1; i >= 0; i--) { MenuQueries.CharacterInformationSheet(heroClass, hero, enemy, enemyClass); Utilities.ColorWriteLines(animationClip[i], ConsoleColor.Gray); MenuQueries.CharacterInformationBattleSheet(hero, enemy, homePage); Thread.Sleep(delayBetweenAnimationCycles); if (i != 0) { MenuQueries.ConsoleClearResetMenu(); } } }
public static void CharacterInformationSheet(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass) { string health = "Health"; string weapons = "Weapon"; string armour = "Armour"; string item = "Item"; string spacer = "--"; char lineSpacer = '-'; string blank = " "; Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1)); Console.WriteLine($"{spacer} {CharacterInformationPlayerNameSheet(hero, heroClass),-50}{spacer} {CharacterInformationEnemyNameSheet(enemy, enemyClass),-50} {spacer}"); Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1)); Console.WriteLine(string.Format($"{spacer} {health,-10} : {CharacterInformationPlayerHealthSheet(hero, heroClass),-37}{spacer} {health,-10} : {CharacterInformationEnemyHealthSheet(enemy, enemyClass),-37} {spacer}")); Console.WriteLine(string.Format($"{spacer} {weapons,-10} : {hero.Weapon.Name,-37}{spacer} {weapons,-10} : {blank,-37} {spacer}")); Console.WriteLine(string.Format($"{spacer} {armour,-10} : {hero.Armor.Name,-37}{spacer} {armour,-10} : {blank,-37} {spacer}")); Console.WriteLine(string.Format($"{spacer} {item,-10} : {CharacterInformationEnemyPotionTypeheet(hero),-37}{spacer} {item,-10} : {blank,-37} {spacer}")); Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1)); Console.WriteLine(new string(lineSpacer, Console.WindowWidth - 1)); }
public static void BattleDisplayPage(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass, bool homePage, int playerCombatSelecter, int enemyCombatSelecter) { Animation.AnimationBattle(heroClass, enemyClass, playerCombatSelecter, enemyCombatSelecter, hero, enemy, homePage); }
public static void BattleDisplayPage(HeroClassTypes heroClass, Hero hero, Enemy enemy, EnemyClassType enemyClass, bool homePage) { CharacterInformationSheet(heroClass, hero, enemy, enemyClass); Animation.CharacterDisplay(heroClass, enemyClass); CharacterInformationBattleSheet(hero, enemy, homePage); }
public void EnemyDefend(EnemyClassType enemyClass, bool defending) { DamageDealt = 0; if (defending == true) { ISAttacking = false; } switch (enemyClass) { case EnemyClassType.minion: if (defending == true) { Console.WriteLine("The enemy is defending!"); minionType.IsDefending = true; } else { minionType.IsDefending = false; } break; case EnemyClassType.creeper: if (defending == true) { Console.WriteLine("The enemy is defending!"); creeperType.IsDefending = true; } else { creeperType.IsDefending = false; } break; case EnemyClassType.skeleton: if (defending == true) { Console.WriteLine("The enemy is defending!"); skeletontype.IsDefending = true; } else { skeletontype.IsDefending = false; } break; case EnemyClassType.orc: if (defending == true) { Console.WriteLine("The enemy is defending!"); orcType.IsDefending = true; } else { orcType.IsDefending = false; } break; default: break; } }