public void CreateJailSpace() { // jail space does nothing, simply an empty object JailSpace jailSpace = new JailSpace(); // implements IBoardSpace interface Assert.IsTrue(jailSpace is IBoardSpace); }
// Switch case method for after chance cards are drawn. This method carries the actions of the chance cards. public void CardEffect(Player player, GameBoard board, ChanceCards card, List <Player> players) { switch (ChanceEffect) { case 1: player.MovePlayerToSpace(board.GetStartingSpace()); player.AddMoney(200); break; case 2: //Need to be able to purchase space or activate space effect player.MovePlayerToSpace(board.GetSpaceByName("Fleet Street")); break; case 3: //Need to be able to purchase space or activate space effect player.MovePlayerToSpace(board.GetSpaceByName("Pall Mall")); break; case 4: //Need to be able to purchase space or activate space effect UtilitySpace utilitySpace = (UtilitySpace)board.GetClosestUtility(player.GetSpaceOccupied().GetSpaceId()); player.MovePlayerToSpace(utilitySpace); player.RemoveMoney(utilitySpace.GetUtility().GetCost()); break; case 5: //Need to be able to purchase space or activate space effect RailroadSpace railroadSpace = (RailroadSpace)board.GetClosestRailroad(player.GetSpaceOccupied().GetSpaceId()); player.MovePlayerToSpace(railroadSpace); if (railroadSpace.GetOwner() != null) { int payment = player.RemoveMoneyWithReturn(railroadSpace.GetRailroad().GetCost() * 2); railroadSpace.GetOwner().AddMoney(payment); } break; case 6: player.AddMoney(50); break; case 7: player.SetGetOutOfJailFreeCard(true); break; case 8: //Need to be able to purchase space or activate space effect int spacePosition = player.GetSpaceOccupied().GetSpaceId(); spacePosition -= 3; if (spacePosition < 0) { spacePosition += 40; } player.MovePlayerToSpace(board.GetSpaceById(spacePosition)); player.Action(board.GetSpaceById(spacePosition), board, players); break; case 9: player.MovePlayerToSpace(board.GetJailSpace()); JailSpace jailSpace = (JailSpace)board.GetJailSpace(); jailSpace.AddPlayerToJail(player); break; case 10: int amount = 25 * board.GetTotalNumOfHouse(); player.RemoveMoney(amount); break; case 11: player.RemoveMoney(15); break; case 12: player.MovePlayerToSpace(board.GetSpaceByName("White Chapel Road")); break; case 13: player.MovePlayerToSpace(board.GetSpaceByName("Mayfair")); break; case 14: for (int i = 0; i < players.Count; i++) { if (player.IsPlayerBankrupt()) { break; } if (player != players[i]) { players[i].AddMoney(player.RemoveMoneyWithReturn(50)); } } break; case 15: player.AddMoney(150); break; case 16: player.AddMoney(100); break; } }