/**
  * @param $playerOne
  * @param $playerTwo
  * @return array
  */
 public function run(Combatant $playerOne, Combatant $playerTwo)
 {
     $output = [];
     $playerOneHealth = $playerOne->getHealth();
     if ($playerOne->isStunned()) {
         $output[] = $playerOne->getName() . " is stunned and misses attack turn";
         return $output;
     }
     $output[] = $playerOne->getName() . " attacks";
     $hit = $playerOne->attack($playerTwo);
     if ($hit) {
         $output[] = $playerOne->getName() . " does " . $hit . " damage";
         if ($playerTwo->isStunned()) {
             $output[] = $playerTwo->getName() . " is stunned";
         }
     } else {
         $output[] = $playerTwo->getName() . " dodged the attack";
         if ($playerOne->getHealth() !== $playerOneHealth) {
             $lostHealth = $playerOneHealth - $playerOne->getHealth();
             $output[] = $playerOne->getName() . " lost " . $lostHealth . " health during the attack";
         }
     }
     return $output;
 }
 /**
  * @param Combatant $player
  */
 protected function outputPlayerStats(Combatant $player)
 {
     $class = str_pad($player->getClass(), 10);
     $health = str_pad($player->getHealth(), 7);
     $strength = str_pad($player->getStrength(), 9);
     $defense = str_pad($player->getDefense(), 8);
     $speed = str_pad($player->getSpeed(), 6);
     $luck = str_pad($player->getLuck(), 4);
     $this->info("{$class}| {$health}| {$strength}| {$defense}| {$speed}| {$luck}");
 }