/** * Round::__construct() * Construct a new Round object. No side effects. * @param PlayerGroup: the attackers * @param PlayerGroup: the defenders * @param int: the round number * @return void */ public function __construct(PlayerGroup $attackers, PlayerGroup $defenders, $number) { $this->number = $number; $this->fire_a = new FireManager(); $this->fire_d = new FireManager(); $this->attackers = $attackers->cloneMe(); $this->defenders = $defenders->cloneMe(); }
private function getPlayersLostShips(PlayerGroup $playersBefore, PlayerGroup $playersAfter) { $playersBefore_clone = $playersBefore->cloneMe(); foreach ($playersAfter->getIterator() as $idPlayer => $playerAfter) { foreach ($playerAfter->getIterator() as $idFleet => $fleet) { foreach ($fleet->getIterator() as $idShipType => $shipType) { $playersBefore_clone->decrement($idPlayer, $idFleet, $idShipType, $shipType->getCount()); } } } return $playersBefore_clone; }