示例#1
0
        public void Init(IEnumerable<IPlayer> players)
        {
            Players = players.ToDictionary(p => p.Name, StringComparer.OrdinalIgnoreCase);

            States = Players.Values.ToDictionary(p => p, p => new PlayerState());
            Table = new Table();
        }
示例#2
0
        public GameState(IDeckFactory deckFactory, IEnumerable<Player> players)
        {
            this.deckFactory = deckFactory;
            this.players = players.ToArray();

            Table = new Table();
            states = this.players.ToDictionary(p => p, p => new State());
            readOnlyStates = states.ToDictionary(kvp => kvp.Key, kvp => (IPlayerState)kvp.Value).AsReadOnly();

            deck = deckFactory.CreateDeck();
        }