public IncomeTax(String name, Int32 location, Banker banker) : base(name, location, banker) { Name = name; Location = location; Banker = banker; }
public GoToJail(String name, Int32 location, Banker banker) : base(name, location, banker) { Name = name; Location = location; Banker = banker; }
public PrisonGuard(Banker banker, IDice dice) { turnsInJailPerPlayer = new Dictionary<String, Int32>(); holdsGetOutOfJailFree = new List<String>(); this.banker = banker; this.dice = dice; }
public void SetupMover() { dice = new Dice(); banker = new Banker(); board = new Board(banker, dice); mover = new Mover(dice, banker, board); Car = new Player("Car"); }
public Board Create(Banker banker, IEnumerable<String> players, IDice dice, PrisonGuard guard) { var board = new Board(players); var spaces = CreateSpaces(banker, board, dice, guard); board.SetSpaces(spaces); return board; }
public void LandingOnGoToJailMovesPlayerToJustVisiting() { var banker = new Banker(); var goToJail = new GoToJail("Go To Jail", 30, banker); Player player = new Player("Player"); goToJail.LandOn(player); Assert.AreEqual(10, player.Position); }
public void LandingOnGoIncreaseBalanceByTwoHundres() { var banker = new Banker(); var go = new Go("Go", 0, banker); Player player = new Player("Player"); var playerStartingBalance = player.Balance; go.LandOn(player); Assert.AreEqual(200, player.Balance - playerStartingBalance); }
public void LandingOnLuxuryTaxDecreasesBalanceBySeventyFive() { var player = new Player("Player"); var banker = new Banker(); var luxuryTax = new LuxuryTax("Luxury Tax", 38, banker); var playerStartingBalance = player.Balance; luxuryTax.LandOn(player); Assert.AreEqual(75, playerStartingBalance - player.Balance); }
public Game(Dice dice) { players = new List<Player>(); turnOrder = new List<Player>(); dummyPlayerList = new List<Player>(); random = new Random(); banker = new Banker(); this.dice = dice; board = new Board(banker, dice); mover = new Mover(dice, banker, board); proprietor = new Proprietor(banker); gameplay = new Gameplay(dice, mover, turnOrder); }
private Queue<ICard> CreateCommunityChestCards(Banker banker, Board board, PrisonGuard guard) { var christmasFund = new Collect(banker, 100); var inheritance = new Collect(banker, 100); var soldStock = new Collect(banker, 45); var bankError = new Collect(banker, 200); var receiveForServices = new Collect(banker, 25); var beautyContestWinnings = new Collect(banker, 10); var taxRefund = new Collect(banker, 20); var lifeInsurance = new Collect(banker, 100); var hospitalBill = new Pay(banker, 100); var doctorsFee = new Pay(banker, 50); var schoolTax = new Pay(banker, 150); var grandOpera = new CollectFromEachPlayer(banker, 50); var goToJail = new AdvanceTo(board, 30); var advanceToGo = new AdvanceTo(board, 0); var getOutOfJailFree = new GetOutOfJailFree(guard); var cards = new Queue<ICard>(); cards.Enqueue(christmasFund); cards.Enqueue(inheritance); cards.Enqueue(soldStock); cards.Enqueue(bankError); cards.Enqueue(receiveForServices); cards.Enqueue(beautyContestWinnings); cards.Enqueue(taxRefund); cards.Enqueue(lifeInsurance); cards.Enqueue(hospitalBill); cards.Enqueue(doctorsFee); cards.Enqueue(schoolTax); cards.Enqueue(grandOpera); cards.Enqueue(goToJail); cards.Enqueue(advanceToGo); cards.Enqueue(getOutOfJailFree); return cards; }
private Queue<ICard> CreateChanceCards(Banker banker, Board board, PrisonGuard guard, UtilityRentStrategy utilityRentStrtegy, RailroadRentStrategy railroadRentStrategy) { var bankDividend = new Collect(banker, 50); var maturedLoan = new Collect(banker, 150); var poorTax = new Pay(banker, 15); var moveToBoardwalk = new Advance(board, banker, 39); var rideTheReading = new Advance(board, banker, 5); var moveToIllinois = new Advance(board, banker, 24); var moveToStCharles = new Advance(board, banker, 11); var moveToNearestRailroad = new AdvanceToNearest(board, new[] { 5, 15, 25, 35 }, railroadRentStrategy); var MoveToNearest = new AdvanceToNearest(board, new[] { 12, 28 }, utilityRentStrtegy); var goBack3Spaces = new GoBackSpaces(board, 3); var chairmanOfTheboard = new PayEachPlayer(banker, 50); var goToJail = new AdvanceTo(board, 30); var advanceToGo = new AdvanceTo(board, 0); var getOutofJailFree = new GetOutOfJailFree(guard); var cards = new Queue<ICard>(); cards.Enqueue(bankDividend); cards.Enqueue(maturedLoan); cards.Enqueue(poorTax); cards.Enqueue(moveToNearestRailroad); cards.Enqueue(moveToBoardwalk); cards.Enqueue(chairmanOfTheboard); cards.Enqueue(moveToNearestRailroad); cards.Enqueue(rideTheReading); cards.Enqueue(moveToIllinois); cards.Enqueue(moveToStCharles); cards.Enqueue(goToJail); cards.Enqueue(advanceToGo); cards.Enqueue(getOutofJailFree); return cards; }
private Dictionary<Int32, IBoardSpace> CreateSpaces(Banker banker, Board board, IDice dice, PrisonGuard guard) { var purples = new List<RealEstate>(); var purpleRentStrategy = new PropertyRentStrategy(purples); var mediterranean = new RealEstate(banker, 60, 2, purpleRentStrategy); var baltic = new RealEstate(banker, 60, 4, purpleRentStrategy); purples.AddRange(new[] { mediterranean, baltic }); var lightBlues = new List<RealEstate>(); var lightBlueRentStrategy = new PropertyRentStrategy(lightBlues); var oriental = new RealEstate(banker, 100, 6, lightBlueRentStrategy); var vermont = new RealEstate(banker, 100, 6, lightBlueRentStrategy); var connecticut = new RealEstate(banker, 120, 8, lightBlueRentStrategy); lightBlues.AddRange(new[] { oriental, vermont, connecticut }); var violets = new List<RealEstate>(); var violetRentStrategy = new PropertyRentStrategy(violets); var stCharlesPlace = new RealEstate(banker, 140, 10, violetRentStrategy); var states = new RealEstate(banker, 140, 10, violetRentStrategy); var virginia = new RealEstate(banker, 140, 12, violetRentStrategy); violets.AddRange(new[] { stCharlesPlace, states, virginia }); var oranges = new List<RealEstate>(); var orangeRentStrategy = new PropertyRentStrategy(oranges); var stJamesPlace = new RealEstate(banker, 180, 14, orangeRentStrategy); var tennessee = new RealEstate(banker, 180, 14, orangeRentStrategy); var newYork = new RealEstate(banker, 200, 16, orangeRentStrategy); oranges.AddRange(new[] { stJamesPlace, tennessee, newYork }); var reds = new List<RealEstate>(); var redRentStrategy = new PropertyRentStrategy(reds); var kentucky = new RealEstate(banker, 220, 18, redRentStrategy); var indiana = new RealEstate(banker, 220, 18, redRentStrategy); var illinois = new RealEstate(banker, 240, 20, redRentStrategy); reds.AddRange(new[] { kentucky, indiana, illinois }); var yellows = new List<RealEstate>(); var yellowRentStrategy = new PropertyRentStrategy(yellows); var atlantic = new RealEstate(banker, 260, 22, yellowRentStrategy); var ventor = new RealEstate(banker, 260, 22, yellowRentStrategy); var marvinGardens = new RealEstate(banker, 280, 24, yellowRentStrategy); yellows.AddRange(new[] { atlantic, ventor, marvinGardens }); var greens = new List<RealEstate>(); var greenRentStrategy = new PropertyRentStrategy(greens); var pacific = new RealEstate(banker, 300, 26, greenRentStrategy); var northCarolina = new RealEstate(banker, 300, 26, greenRentStrategy); var pennsylvaniaAvenue = new RealEstate(banker, 320, 28, greenRentStrategy); greens.AddRange(new[] { pacific, northCarolina, pennsylvaniaAvenue }); var blues = new List<RealEstate>(); var blueRentStrategy = new PropertyRentStrategy(blues); var parkPlace = new RealEstate(banker, 350, 35, blueRentStrategy); var boardwalk = new RealEstate(banker, 400, 50, blueRentStrategy); blues.AddRange(new[] { parkPlace, boardwalk }); var railroads = new List<RealEstate>(); var railroadRentStrategy = new RailroadRentStrategy(railroads); var readingRailroad = new RealEstate(banker, 200, 25, railroadRentStrategy); var pennsylvaniaRailroad = new RealEstate(banker, 200, 25, railroadRentStrategy); var bORailroad = new RealEstate(banker, 200, 25, railroadRentStrategy); var shortLineRailroad = new RealEstate(banker, 200, 25, railroadRentStrategy); railroads.AddRange(new[] { readingRailroad, pennsylvaniaRailroad, bORailroad, shortLineRailroad }); var utilities = new List<RealEstate>(); var utilityRentStrategy = new UtilityRentStrategy(utilities, dice); var electric = new RealEstate(banker, 150, 0, utilityRentStrategy); var water = new RealEstate(banker, 150, 0, utilityRentStrategy); utilities.AddRange(new[] { electric, water }); var communityChestCards = CreateCommunityChestCards(banker, board, guard); var communityChest = new CardSpace(communityChestCards); var chanceCards = CreateChanceCards(banker, board, guard, utilityRentStrategy, railroadRentStrategy); var chance = new CardSpace(chanceCards); var spaces = new Dictionary<Int32, IBoardSpace> { { 0, new Go(banker) }, { 1, mediterranean }, { 2, communityChest }, { 3, baltic }, { 4, new IncomeTax(banker, 200, 10) }, { 5, readingRailroad }, { 6, oriental }, { 7, chance }, { 8, vermont }, { 9, connecticut }, { 11, stCharlesPlace }, { 12, electric }, { 13, states }, { 14, virginia }, { 15, pennsylvaniaRailroad }, { 16, stJamesPlace }, { 17, communityChest }, { 18, tennessee }, { 19, newYork }, { 21, kentucky }, { 22, chance }, { 23, indiana }, { 24, illinois }, { 25, bORailroad }, { 26, atlantic }, { 27, ventor }, { 28, water }, { 29, marvinGardens }, { 30, new GoToJail(board, 10, guard) }, { 31, pacific }, { 32, northCarolina }, { 33, communityChest }, { 34, pennsylvaniaAvenue }, { 35, shortLineRailroad }, { 36, chance }, { 37, parkPlace }, { 38, new LuxuryTax(banker, 75) }, { 39, boardwalk } }; return spaces; }
public void CreateBoard() { var banker = new Banker(); var dice = new Dice(); board = new Board(banker, dice); }
public Space(String name, Int32 location, Banker banker) { Name = name; Location = location; Banker = banker; }
public void Setup() { banker = new Banker(); incomeTax = new IncomeTax("Income Tax", 4, banker); player = new Player("Player"); }
public void Setup() { dice = new Dice(); player = new Player("Player"); player2 = new Player("Player2"); banker = new Banker(); proprietor = new Proprietor(banker); red = new List<Property>(); property = new Property("Property", 1, 50, 10, red, banker); red.Add(property); }
public Mover(Dice dice, Banker banker, Board board) { this.banker = banker; this.dice = dice; this.board = board; }