Esempio n. 1
0
        public void MakeBattleCommand(SpaceBattle battle)
        {
            if (this.Lasers != null && this.Lasers.Length > 0)
            {
                int requiredEnergy = 0;
                foreach (var l in this.Lasers)
                {
                    requiredEnergy += l.Energy;
                }

                if (requiredEnergy < this.Energy)
                {
                    battle.DoBattleCommand(this, "F");
                    return;
                }
            }

            if (this.MissileLaunchers != null && this.MissileLaunchers.Length > 0)
            {
                int requiredEnergy = 0;
                foreach (var m in this.MissileLaunchers)
                {
                    requiredEnergy += m.Energy;
                }

                if (requiredEnergy < this.Energy)
                {
                    battle.DoBattleCommand(this, "M");
                    return;
                }
            }

            battle.DoBattleCommand(this, "E");
        }
Esempio n. 2
0
 protected virtual void OnBattleEnded(SpaceBattle battle, SpaceShip enemy)
 {
     if (BattleEnded != null)
     {
         BattleEnded(this, battle, enemy);
     }
 }
Esempio n. 3
0
 void SpaceShip_BattleStarted(object sender, SpaceBattle battle, SpaceShip enemy)
 {
     this.SpaceShip.EngageShip(enemy);
 }
Esempio n. 4
0
 public void ReportBattleEnded(SpaceBattle battle, SpaceShip enemy)
 {
     OnBattleEnded(battle, enemy);
 }
Esempio n. 5
0
 void SpaceShip_BattleEnded(object sender, SpaceBattle battle, SpaceShip enemy)
 {
     this.State = "SEARCH";
 }