/** * @param Fixture $fixture * * @return Event */ public function createRandomEvent(Fixture $fixture) { $possibleTeams = array($fixture->getTeamHome(), $fixture->getTeamAway()); /** @var Team $attackingTeam */ $attackingTeam = $possibleTeams[mt_rand(0, count($possibleTeams) - 1)]; $defendingTeam = $attackingTeam->equals($fixture->getTeamHome()) ? $fixture->getTeamAway() : $fixture->getTeamHome(); $attacker = $attackingTeam->getRandomPlayerFromLineup(); $defender = $defendingTeam->getRandomPlayerFromLineup(); $eventType = $attacker->getSkillOffense() * 2 > $defender->getSkillDefense() * 3 ? Event::TYPE_GOAL : Event::TYPE_CHANCE; $event = Event::create($fixture, $eventType, $attackingTeam, $attacker, $fixture->getMinutesPlayed()); return $event; }