feature/avoid-repeating-places-in-game #38
@ -253,7 +253,7 @@ class GameFlowController
|
||||
private function startNewGame(array &$state, int $mapId): void
|
||||
{
|
||||
$session = $this->request->session();
|
||||
$userId = $session->get('userId'); // in case of multiplayer it will be null and handled the same way as for anonymous players
|
||||
$userId = $session->get('userId');
|
||||
|
||||
$places = $this->placeRepository->getRandomNPlaces($mapId, static::NUMBER_OF_ROUNDS, $userId);
|
||||
|
||||
|
@ -31,9 +31,9 @@ class PlaceRepository
|
||||
//TODO: use Map and User instead of id
|
||||
public function getRandomNPlaces(int $mapId, int $n, ?int $userId): array
|
||||
{
|
||||
if(!isset($userId)) { // anonymous single player or multiplayer game
|
||||
if(!isset($userId)) { // anonymous single player
|
||||
return $this->getRandomNForMapWithValidPano($mapId, $n);
|
||||
} else { // authorized user
|
||||
} else { // authorized user or multiplayer game with selection based on what the host played before
|
||||
$unvisitedPlaces = $this->getRandomUnvisitedNForMapWithValidPano($mapId, $n, $userId);
|
||||
$oldPlaces = $this->getRandomOldNForMapWithValidPano($mapId, $n - count($unvisitedPlaces), $userId);
|
||||
return array_merge($unvisitedPlaces, $oldPlaces);
|
||||
|
Loading…
Reference in New Issue
Block a user