Beispiel #1
0
        public void StartGame(Guid gameId)
        {
            var game = _gameRepository.GetGame(gameId);

            game.Status = GameStatus.InProgress;
            _shuffleHelper.Shuffle(game.Players);
            game.CurrentTurnPlayerId = game.Players[0].ConnectionId;

            var startGameEvent = new StartGameEvent
            {
                CurrentPlayerId = game.CurrentTurnPlayerId,
                PlayerOrder     = game.Players.Select(p => p.ConnectionId).ToList()
            };

            foreach (var player in game.Players)
            {
                player.CurrentHand          = game.TileBag.DrawTiles(game.GameSettings.HandSize);
                startGameEvent.StartingHand = player.CurrentHand;
                _updater.StartGameEvent(player.ConnectionId, startGameEvent);
            }
        }