1) { shuffle($aliveFighters); $this->startBattle($aliveFighters); } elseif (count($aliveFighters) === 1) { TournamentModel::removeFighter($aliveFighters[0], true); $this->victory($level); } } } /** * Получаем пары бойцов и начинаем их поединки. * * @param array $fightersList * * @return void */ private function startBattle(array $fightersList): void { $teams = TournamentModel::getFightersTeams($fightersList); foreach ($teams as $team) { if (count($team) === 2) { TournamentModel::startBattle($team[0], $team[1]); } } } /** * Награждаем победителей турнира, чистим базу. * * @param int $tid * * @return void */ private function victory(int $tid): void { $winners = TournamentModel::getWinners($tid); 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, $tid, TournamentModel::uidToLogin($winners[1]), TournamentModel::uidToLogin($winners[2]), TournamentModel::uidToLogin($winners[3]) ) ); sleep(3); TournamentModel::destroyTournament($tid); } }