コード例 #1
0
 /**
  * @param Combatant $attacker
  * @return bool
  */
 public function defend(Combatant $attacker)
 {
     $defended = parent::defend($attacker);
     // Counter attack
     if ($defended) {
         $health = $attacker->getHealth();
         $attacker->setHealth($health - 10);
     }
     return $defended;
 }
コード例 #2
0
 /**
  * @param Combatant $defender
  * @return bool|mixed
  */
 public function attack(Combatant $defender)
 {
     // Damage = Attacker strength – Defender Defense
     $damage = $this->getStrength() - $defender->getDefense();
     if ($defender->defend($this)) {
         return false;
     }
     $health = $defender->getHealth();
     $defender->setHealth($health - $damage);
     return $damage;
 }