public Round(Table table, Rules rules, Parties parties) { _table = table; _rules = rules; _players = parties.Players; _movements = new List <Movement>(); }
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); }
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; } }
public Dealer(Table table, Rules rules, Parties parties) { _table = table; _rules = rules; _parties = parties; }