1) { shuffle($alive_fighters); $this->start_battle($alive_fighters); } elseif (count($alive_fighters) === 1) { TournamentModel::removeFighter($alive_fighters[0], true); $this->victory($level); } } } /** * Получаем пары бойцов и начинаем их поединки. * * @param array $fighters_list * * @return void */ private function start_battle(array $fighters_list) { $teams = TournamentModel::getFightersTeams($fighters_list); foreach ($teams as $team) { if (count($team) === 2) { TournamentModel::startBattle($team[0], $team[1]); } } } /** * Награждаем победителей турнира, чистим базу. * * @param int $tournament_id * * @return void */ private function victory($tournament_id) { $winners = TournamentModel::getWinners($tournament_id); sleep(1); TournamentModel::givePrizeItems($winners[1], self::PRIZE1); TournamentModel::givePrizeItems($winners[2], self::PRIZE2); TournamentModel::givePrizeItems($winners[3], self::PRIZE3); sleep(1); TournamentModel::giveDelay($winners[1], strtotime(self::DELAY1)); TournamentModel::giveDelay($winners[2], strtotime(self::DELAY2)); TournamentModel::giveDelay($winners[3], strtotime(self::DELAY3)); sleep(1); TournamentModel::sysMessage(sprintf(self::VICTORY_MESSAGE, $tournament_id, TournamentModel::uidToLogin($winners[1]), TournamentModel::uidToLogin($winners[2]), TournamentModel::uidToLogin($winners[3]))); sleep(3); TournamentModel::destroyTournament($tournament_id); } }