public static Game CreateGame(IEnumerable<IPlayer> players) { var dice = new MonopolyDice(); var banker = new Banker(players); var realEstateHandler = new OwnableHandler(BoardFactory.CreateRealEstate(dice), banker); var spaces = BoardFactory.CreateNonRealEstateSpaces(banker); var spaceHandler = new UnownableHandler(spaces); var boardHandler = new BoardHandler(players, realEstateHandler, spaceHandler, banker); var jailHandler = new JailHandler(dice, boardHandler, banker); var turnHandler = new TurnHandler(dice, boardHandler, jailHandler, realEstateHandler, banker); var deckFactory = new DeckFactory(players, jailHandler, boardHandler, realEstateHandler, banker); var communityChest = deckFactory.BuildCommunityChestDeck(); var chance = deckFactory.BuildChanceDeck(dice); foreach (var space in spaces.Values.OfType<DrawCard>()) { if (space.ToString() == "Community Chest") space.AddDeck(communityChest); else space.AddDeck(chance); } return new Game(players, turnHandler, banker); }
public static IBoardHandler CreateBoardHandlerForFakeBoard(IEnumerable<IPlayer> players, IOwnableHandler realEstateHandler, IBanker banker) { var normalSpaces = new Dictionary<Int32, UnownableSpace>(); for (var i = 0; i < BoardConstants.BOARD_SIZE; i++) normalSpaces.Add(i, new NormalSpace("space " + i)); var spaceHandler = new UnownableHandler(normalSpaces); return new BoardHandler(players, realEstateHandler, spaceHandler, banker); }
public void Land() { var space = new LandableSpace(); var spaces = new Dictionary<Int32, UnownableSpace>(); spaces.Add(0, space); var handler = new UnownableHandler(spaces); var player = new Player("name"); handler.Land(player, 0); Assert.IsTrue(space.LandedOn); }
public void Setup() { player = new Player("name"); var players = new[] { player }; banker = new Banker(players); var realEstateHandler = new OwnableHandler(new Dictionary<Int32, OwnableSpace>(), banker); var normalSpaces = new Dictionary<Int32, UnownableSpace>(); for(var i = 0; i < BoardConstants.BOARD_SIZE; i++) normalSpaces.Add(i, new NormalSpace("space " + i)); var spaceHandler = new UnownableHandler(normalSpaces); boardHandler = new BoardHandler(players, realEstateHandler, spaceHandler, banker); }
public void Setup() { player = new Player("Player"); var players = new[] { player }; dice = new ControlledDice(); var realEstateHandler = FakeHandlerFactory.CreateEmptyRealEstateHandler(players); landableSpaces = new Dictionary<Int32, UnownableSpace>(); for (var i = 0; i < BoardConstants.BOARD_SIZE; i++) landableSpaces.Add(i, new LandableSpace()); space6 = landableSpaces[6] as LandableSpace; space10 = landableSpaces[10] as LandableSpace; var spaceHandler = new UnownableHandler(landableSpaces); banker = new Banker(players); boardHandler = new BoardHandler(players, realEstateHandler, spaceHandler, banker); jailHandler = new JailHandler(dice, boardHandler, banker); turnHandler = new TurnHandler(dice, boardHandler, jailHandler, realEstateHandler, banker); }