public Player(IPlayer player, IGameListener listener, Board board, AvailableTribes availableTribes, Dice dice) { if (player == null) { throw new ArgumentNullException("player"); } _player = player; _listener = listener; _board = board; _availableTribes = availableTribes; _dice = dice; }
public Game(IEnumerable <IPlayer> players, Action <string, IGameInterface> inject) { if (players.Count() != 2) { throw new ArgumentException("names must contain 2 elements", "names"); } _board = BoardBuilder.CreateTwoPlayer(); _numberOfTurns = 10; _availableTribes = new AvailableTribes(); var dice = new Dice(new Random(88)); foreach (var player in players) { var gi = new GameInterface(player.Name, this); _players.Add(player); _gis.Add(gi); inject(player.Name, gi); } }