예제 #1
0
 private void checkIsSombodyDead(Gladiators.Gladiator attacker, Gladiators.Gladiator defender)
 {
     if (attacker.battleHP < 0 || defender.battleHP < 0)
     {
         battleOnAir = false;
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
 private void finishBattle(Gladiators.Gladiator warrior, int gladiatorSelector)
 {
     if (warrior.battleHP <= 0)
     {
         gladiatorList.RemoveAt(gladiatorSelector);
     }
     else
     {
         warrior.LVL++;
         warrior.battleParametersSetter();
     }
 }
예제 #4
0
 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);
 }
예제 #5
0
 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++;
 }
예제 #6
0
 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;
     }
 }
예제 #7
0
        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;
            }
        }
예제 #8
0
 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);
 }
예제 #9
0
        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);
        }