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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user