private void checkIsSombodyDead(Gladiators.Gladiator attacker, Gladiators.Gladiator defender) { if (attacker.battleHP < 0 || defender.battleHP < 0) { battleOnAir = false; } }
private void attack(Gladiators.Gladiator attacker, Gladiators.Gladiator defender) { int unclampedChance = attacker.battleDEX - defender.battleDEX; int chance = Math.Clamp(unclampedChance, 10, 100); Random tryToHit = new Random(); if (tryToHit.Next(100) < chance && battleOnAir) { printAttackMessage(AttackMessage.HIT, attacker, defender); defender.battleHP -= attacker.battleSP; specialAttack(attacker, defender); if (defender.battleHP <= 0) { printAttackMessage(AttackMessage.KILL, attacker, defender); } } else if (attacker.battleHP < 0) { printAttackMessage(AttackMessage.DEAD, attacker, defender); } else { printAttackMessage(AttackMessage.MISS, attacker, defender); } checkIsSombodyDead(attacker, defender); }
private void finishBattle(Gladiators.Gladiator warrior, int gladiatorSelector) { if (warrior.battleHP <= 0) { gladiatorList.RemoveAt(gladiatorSelector); } else { warrior.LVL++; warrior.battleParametersSetter(); } }
private void printStatusMessage(String color, Gladiators.Gladiator Warrior) { Console.WriteLine(color + ": " + Warrior.Name + ", Level: " + Warrior.LVL + ", HP: " + Warrior.battleHP + ", DEX: " + Warrior.battleDEX + ", SP: " + Warrior.battleSP + ", Weapon: " + Warrior.weaponType + ", Burning: " + Warrior.BurningFor + ", Bleeding: " + Warrior.Bleeding + ", Poison: " + Warrior.PoisonFor); }
private void battlesOnOneLevel() { while (gladiatorList.Count > gladiatorSelector + 1) { Console.WriteLine("DD"); //} redWarrior = gladiatorList[gladiatorSelector]; blueWarrior = gladiatorList[gladiatorSelector + 1]; oneBattle(redWarrior, blueWarrior); gladiatorSelector++; } gladiatorSelector = 0; oneBattleNumber = 0; battleLevelNumber++; }
private void specialAttackEffect(Gladiators.Gladiator warrior) { if (warrior.Bleeding == true) { warrior.battleHP -= 15; } if (warrior.BurningFor > 0) { warrior.battleHP -= 15; warrior.BurningFor -= 1; } if (warrior.PoisonFor > 0) { warrior.battleHP -= 15; warrior.PoisonFor -= 1; } }
private void specialAttack(Gladiators.Gladiator attacker, Gladiators.Gladiator defender) { switch (attacker.weaponType) { case WeaponType.BURNING: defender.BurningFor = 4; break; case WeaponType.POISONED: defender.PoisonFor = 3; break; } Random random = new Random(); if (random.Next(100) < chanceForCritivalHit) { defender.Bleeding = true; } }
private void oneBattle(Gladiators.Gladiator redWarrior, Gladiators.Gladiator blueWarrior) { battleOnAir = true; oneBattleNumber++; while (battleOnAir) { printBattleInfo(); printStatusMessage("Red Warrior", redWarrior); printStatusMessage("Blue Warrior", blueWarrior); specialAttackEffect(redWarrior); checkIsSombodyDead(redWarrior, blueWarrior); specialAttackEffect(blueWarrior); checkIsSombodyDead(redWarrior, blueWarrior); attack(redWarrior, blueWarrior); attack(blueWarrior, redWarrior); System.Threading.Thread.Sleep(200); } finishBattle(redWarrior, gladiatorSelector); finishBattle(blueWarrior, gladiatorSelector + 1); }
private void printAttackMessage(AttackMessage attackResult, Gladiators.Gladiator attacker, Gladiators.Gladiator defender) { switch (attackResult) { case AttackMessage.HIT: Console.WriteLine(attacker.Name + " hit! - " + verfluchenGenerator()); break; case AttackMessage.MISS: Console.WriteLine(attacker.Name + " miss..."); break; case AttackMessage.KILL: Console.WriteLine(attacker.Name + " kills" + defender.Name); break; case AttackMessage.DEAD: Console.WriteLine(attacker.Name + " is dead."); break; } System.Threading.Thread.Sleep(100); }