public static void Fight(ICharacter a, ICharacter b) { if (_rnd.Next(2) == 1) { Console.WriteLine("Character " + a.Name + " Took the first swing"); while (a.Dead == false && b.Dead == false) { b.TakeDamage(a.Attack()); Console.WriteLine(b.Name + " has " + b.Hitpoints + " hitpoints left"); if (b.Dead == false) { a.TakeDamage(b.Attack()); Console.WriteLine(a.Name + " has " + a.Hitpoints + " hitpoints left"); } } } else { Console.WriteLine("Character " + b.Name + " Took the first swing"); while (a.Dead == false && b.Dead == false) { a.TakeDamage(b.Attack()); Console.WriteLine(a.Name + " has " + a.Hitpoints + " hitpoints left"); if (a.Dead == false) { b.TakeDamage(a.Attack()); Console.WriteLine(b.Name + " has " + b.Hitpoints + " hitpoints left"); } } } }
private void BeginBattle(ICharacter enemy) { this.renderer.WriteLine("Enemy current health {0} damage {1}", enemy.Health, enemy.Damage); this.renderer.WriteLine("Your current health {0} and damage {1}", this.hero.Health, this.hero.Damage); this.hero.Attack(enemy); if (enemy.Health <= 0) { this.characters.Remove(enemy as GameObject); this.renderer.WriteLine("You attacked and slain him!"); this.renderer.WriteLine("Your health after the battle {0} and damage {1}", this.hero.Health, this.hero.Damage); return; } if (enemy.Health > 0) { this.renderer.WriteLine("You attacked him, but he was strong and he decided to strike back!"); this.renderer.WriteLine("Enemy health after your attack {0} damage {1}", enemy.Health, enemy.Damage); enemy.Attack(this.hero); if (this.hero.Health > 0) { this.renderer.WriteLine("Your health after enemy attack {0} damage {1}", this.hero.Health, this.hero.Damage); } while (enemy.Health > 0 || this.hero.Health > 0) { this.hero.Attack(enemy); this.renderer.WriteLine("You attacked him again stronger!"); if (enemy.Health <= 0) { break; } this.renderer.WriteLine("Enemy health after your attack {0} damage {1}", enemy.Health, enemy.Damage); enemy.Attack(this.hero); this.renderer.WriteLine("He strike back!"); if (this.hero.Health <= 0) { break; } this.renderer.WriteLine("Your health after enemy attack {0} damage {1}", this.hero.Health, this.hero.Damage); } } if (this.hero.Health <= 0) { this.IsRunning = false; this.renderer.WriteLine("You are dead!"); } if (this.hero.Health > 0) { this.characters.Remove(enemy as GameObject); this.renderer.WriteLine("You has slain an enemy!"); this.renderer.WriteLine("Your health after the battle {0} and damage {1}", this.hero.Health, this.hero.Damage); } }
/// <summary> /// Loops through attacks unitil a winner is decided /// </summary> /// <param name="one">The first Character fighting</param> /// <param name="two">The second Character fighting</param> /// <returns>true if one wins and false if two wins</returns> public static bool Battle(ICharacter one, ICharacter two) { bool isOnesTurn = true; while (one.Health > 0 && two.Health > 0) { if (isOnesTurn) { one.Attack(two); } else { two.Attack(one); } isOnesTurn = !isOnesTurn; } if (two.Health <= 0) { two.Die(); return(true); } one.Die(); return(false); }
private void EnterBattle(IGameEngine engine, ICharacter currentEnemy) { while (true) { engine.Player.Attack(currentEnemy); engine.PushStatus($"You smash the {currentEnemy.Name} for {engine.Player.Damage} damage!"); if (currentEnemy.Health <= 0) { engine.PushStatus($"Enemy {currentEnemy.Name} killed!"); engine.RemoveEnemy(currentEnemy); return; } currentEnemy.Attack(engine.Player); engine.PushStatus($"The {currentEnemy.Name} hits you for {currentEnemy.Damage} damage!"); if (engine.Player.Health <= 0) { engine.IsRunning = false; GameStateScreens.ShowGameOverScreen(); return; } } }
public override void Execute(ICharacter character) { character.TimeSinceLastAction += Time.fixedDeltaTime; if (character.TimeSinceLastAction >= 1 / character.Stats.AttacksPerSecond) { character.TimeSinceLastAction = 0; character.Attack(); } }
public static void DoBattle(ICharacter char1, ICharacter char2, IDice _dice) { BonusRoll(char1, char2, _dice); Console.WriteLine("Battle Roll:"); while (char1.Health > 0 && char2.Health > 0) { AdjustStats(char1.Name + " Battle Roll", char1.Attack(_dice), char2); AdjustStats(char2.Name + " Battle Roll", char2.Attack(_dice), char1); } DisplayResults(char1, char2); }
// 攻击目标 public virtual void Attack(ICharacter Target) { // 时间到了才攻击 m_CoolDown -= Time.deltaTime; if (m_CoolDown > 0) { return; } m_CoolDown = ATTACK_COOLD_DOWN; m_Character.Attack(Target); }
// 攻擊目標 public virtual void Attack(ICharacter Target) { // 時間到了才攻擊 m_CoolDown -= Time.deltaTime; if (m_CoolDown > 0) { return; } m_CoolDown = ATTACK_COOLD_DOWN; //Debug.Log ("攻擊目標:"+Target.GetGameObject().gameObject.name); m_Character.Attack(Target); }
public static void BonusRoll(ICharacter char1, ICharacter char2, IDice _dice) { DetermineBonus(char1, char2); Console.WriteLine("Bonus Roll:"); if (char1.AttackBonus == true) { AdjustStats(char1.Name + " Bonus Roll", char1.Attack(_dice), char2); } else { AdjustStats(char2.Name + " Bonus Roll", char2.Attack(_dice), char1); } }
private void PerformAttack(ICharacter enemy) { this.player.Attack(enemy); if (enemy.HitPoints == 0) { this.entities.Remove(enemy); this.renderer.WriteLine("Enemy was defeated!"); this.player.Score += 100; return; } enemy.Attack(this.player); this.renderer.WriteLine("Damage taken!"); this.renderer.WriteLine("Player hit points: {0}", this.player.HitPoints); this.renderer.WriteLine("Enemy hit points: {0}", enemy.HitPoints); }
private void EnterBattle(ICharacter currentEnemy) { ConsoleRenderer.WriteLine( "An enemy {0} is approaching. Prepare for battle!", currentEnemy.GetType().Name); while (true) { this.Engine.Player.Attack(currentEnemy); ConsoleRenderer.WriteLine("You smash the {0} for {1} damage!", currentEnemy.GetType().Name, this.Engine.Player.Damage); if (currentEnemy.Health <= 0) { ConsoleRenderer.WriteLine("Enemy killed!"); ConsoleRenderer.WriteLine("Health Remaining: {0}", this.Engine.Player.Health); this.Engine.RemoveEnemy(currentEnemy); return; } currentEnemy.Attack(this.Engine.Player); ConsoleRenderer.WriteLine("The {0} hits you for {1} damage!", currentEnemy.GetType().Name, currentEnemy.Damage); if (this.Engine.Player.Health < 150 && this.Engine.Player.Inventory.BackPack.SlotList.Any(x => x.GameItem is HealthPotion || x.GameItem is HealthBonusPotion)) { try { this.Engine.Player.SelfHeal(); } catch (NoHealthPotionsException ex) { ConsoleRenderer.WriteLine(ex.Message); } } if (this.Engine.Player.Health <= 0) { this.Engine.IsRunning = false; GameStateScreens.ShowGameOverScreen(); return; } } }
private void EnterBattle(ICharacter enemy) { this.player.Attack(enemy); if (enemy.Health <= 0) { this.renderer.WriteLine("Enemy killed!"); this.characters.Remove(enemy as GameObject); return; } enemy.Attack(this.player); if (this.player.Health <= 0) { this.IsRunning = false; this.renderer.WriteLine("You dead!"); } }
private void EnterBattle(ICharacter enemy) { this.player.Attack(enemy); if (enemy.Health <= 0) { this.renderer.WriteLine("Enemy killed!"); this.player.GainExperience(enemy); this.enemies.Remove(enemy as Character); if (enemies.Count == 0) { this.IsRunning = false; this.renderer.WriteLine(String.Empty); this.renderer.WriteLine("Victory! All enemies are dead."); this.renderer.WriteLine("Press any key to quit!"); Console.ReadKey(); this.renderer.WriteLine(String.Empty); } return; } else { enemy.Attack(this.player); } if (player.Health > 0) { this.renderer.WriteLine("Enemy not killed! You must attack again."); } else { this.IsRunning = false; this.renderer.WriteLine("You died !"); this.renderer.WriteLine("Press any key to quit!"); Console.ReadKey(); } }
private void EnterBattle(ICharacter enemy) { this.player.Attack(enemy); if (enemy.Health <= 0) { this.renderer.WriteLine("Enemy killed!"); this.characters.Remove(enemy as GameObject); return; } enemy.Attack(this.player); if (this.player.Health <= 0) { this.IsRunning = false; this.renderer.WriteLine("You dead!"); } }
private void PerformAttack(ICharacter enemy) { this.player.Attack(enemy); if (enemy.HitPoints == 0) { this.entities.Remove(enemy); this.renderer.WriteLine("Enemy was defeated!"); this.player.Score += 100; return; } enemy.Attack(this.player); this.renderer.WriteLine("Damage taken!"); this.renderer.WriteLine("Player hit points: {0}", this.player.HitPoints); this.renderer.WriteLine("Enemy hit points: {0}", enemy.HitPoints); }
private void GetIntoFight(ICharacter player, ICharacter enemy) { while (enemy.IsAlive) { if (!player.IsAlive) { this.Engine.Writer.Print("Young jedi died. Game over!"); this.Engine.IsRunning = false; break; } player.Attack(enemy); enemy.Attack(player); } this.Engine.Writer.Print("One stormtrooper died. Keep going."); }
public void ExcuteCommand() { character.Attack(); }