Exemplo n.º 1
0
 public Round(Table table, Rules rules, Parties parties)
 {
     _table     = table;
     _rules     = rules;
     _players   = parties.Players;
     _movements = new List <Movement>();
 }
Exemplo n.º 2
0
        public Game(RankSet ranks, SuitSet suits, Rules rules, Parties parties)
        {
            RankSet = ranks;
            SuitSet = suits;
            Rules   = rules;

            Table   = new Table(Rules.ZoneFactory);
            Parties = parties;
            Round   = new Round(Table, rules, parties);

            EnsurePartiesValid(parties);
        }
Exemplo n.º 3
0
        private void EnsurePartiesValid(Parties parties)
        {
            var maxPlayers   = Rules.GetMaxPlayers(SuitSet, RankSet);
            var playersCount = parties.Players.Count();

            if (playersCount > maxPlayers)
            {
                var ex = new ArgumentException("Too many players", nameof(parties));
                ex.Data.Add(nameof(playersCount), playersCount);
                ex.Data.Add(nameof(maxPlayers), maxPlayers);
                throw ex;
            }
        }
Exemplo n.º 4
0
 public Dealer(Table table, Rules rules, Parties parties)
 {
     _table   = table;
     _rules   = rules;
     _parties = parties;
 }