public StandardGameBoard(ICardDeckCreator cardDeckCreator, IBuildingTilePileCreator buildingTilePileCreator) { WoodAvailable = TOTAL_WOOD; BrickAvailable = TOTAL_BRICK; StoneAvailable = TOTAL_STONE; GoldAvailable = TOTAL_GOLD; CardDeck = new Stack <Card>(cardDeckCreator.Shuffle()); // TODO: move this into IBuildingTilePileCreator implementations var shuffledBuildingHutTiles = new List <BuildingTile>(buildingTilePileCreator.Shuffle()); HutStack1 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(0).Take(7)); HutStack2 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(7).Take(7)); HutStack3 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(14).Take(7)); HutStack4 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(21).Take(7)); Tool1or2Available = TOTAL_1_2_TOOLS; Tool3or4Available = TOTAL_3_4_TOOLS; AddDefaultSpaces(); }
public GameBoard(ICardDeckCreator cardDeckCreator, IBuildingTilePileCreator buildingTilePileCreator) { WoodAvailable = TOTAL_WOOD; BrickAvailable = TOTAL_BRICK; StoneAvailable = TOTAL_STONE; GoldAvailable = TOTAL_GOLD; CardDeck = new Stack<Card>(cardDeckCreator.Shuffle()); // TODO: move this into IBuildingTilePileCreator implementations var shuffledBuildingHutTiles = new List<BuildingTile>(buildingTilePileCreator.Shuffle()); HutStack1 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(0).Take(7)); HutStack2 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(7).Take(7)); HutStack3 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(14).Take(7)); HutStack4 = new BuildingTileStack(shuffledBuildingHutTiles.Skip(21).Take(7)); Tool1or2Available = TOTAL_1_2_TOOLS; Tool3or4Available = TOTAL_3_4_TOOLS; AddDefaultSpaces(); }