private function buildPlayerGroup($tech, $fleets) { $playerObj = new Player(1); $playerObj->setTech($tech['weapons'], $tech['shields'], $tech['armour']); foreach ($fleets as $idFleet => $fleet) { $fleetObj = new Fleet($idFleet); foreach ($fleet as $id => $count) { $count = floor($count); $id = floor($id); if ($count > 0 && $id > 0) { $fleetObj->add($this->getShipType($id, $count)); } } if (!$fleetObj->isEmpty()) { $playerObj->addFleet($fleetObj); } } if ($playerObj->isEmpty()) { die("<meta http-equiv=\"refresh\" content=2;\"WebTest.php\">There should be at least an attacker and defender"); } $playerGroupObj = new PlayerGroup(); $playerGroupObj->addPlayer($playerObj); return $playerGroupObj; }
/** * method get_player_group_from_query * param $result * param $target_user * return the attack result */ private function get_player_group_from_query($result, $target_user = false) { $playerGroup = new PlayerGroup(); while ($fleet_row = parent::$db->fetch_assoc($result)) { //making the current fleet object $serializedTypes = explode(';', $fleet_row['fleet_array']); $idPlayer = $fleet_row['fleet_owner']; $fleet = new Fleet($fleet_row['fleet_id']); foreach ($serializedTypes as $serializedType) { list($id, $count) = explode(',', $serializedType); if ($id != 0 && $count != 0) { $fleet->add(get_ship_type($id, $count)); } } //making the player object and add it to playerGroup object if (!$playerGroup->existPlayer($idPlayer)) { if ($target_user !== FALSE && $target_user['id'] == $idPlayer) { $player_info = $target_user; } else { $player_info = parent::$db->query_fetch("SELECT `research_weapons_technology`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`research_shielding_technology`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`research_armour_technology`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM `" . RESEARCH . "`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE `research_user_id` = '" . $idPlayer . "';"); } $player = new Player($idPlayer, array($fleet)); $player->setTech($player_info['military_tech'], $player_info['shield_tech'], $player_info['defence_tech']); $playerGroup->addPlayer($player); } else { $playerGroup->getPlayer($idPlayer)->addFleet($fleet); } } return $playerGroup; }