private void Initialise(Board board, Bank bank, IDice dice, ICardManager cardManager, List <Player> players) { Bank = bank; Board = board; AssetManager = board.AssetManager; Dice = dice; Players = players; CardManager = cardManager; Winner = null; PlayerTurnsPlayed = 0; FreeParking = new FreeParking(Bank); // Set players on Go foreach (var player in players) { player.Location = Board.Go; } // Bank owns everything to start board.AssetManager.AllAssets.ForEach(x => bank.PurchaseAsset(x)); NextPlayer = players[0]; }
public void TestInitialize() { _bank = new Bank(); _assetManager = new AssetManager(); _player = new Player(); _player2 = new Player(); _freeParking = new FreeParking(_bank); _assetManager.AllAssets.ForEach(x => _bank.PurchaseAsset(x)); }
private void LandedOnSpecialSquare(Player player) { var specialSquare = (SpecialSquare)player.Location; switch (specialSquare.SpecialSquareType) { case SpecialSquare.SquareType.Go: break; case SpecialSquare.SquareType.Jail: break; case SpecialSquare.SquareType.FreeParking: FreeParking.Pay(FreeParking.Money, player, Bank); break; case SpecialSquare.SquareType.CommunityChest: ProcessCard(player, CardManager.GetNextCommunityChest()); break; case SpecialSquare.SquareType.Chance: ProcessCard(player, CardManager.GetNextChance()); break; case SpecialSquare.SquareType.GoToJail: SendToJail(player); break; case SpecialSquare.SquareType.IncomeTax: player.Pay(200, FreeParking, Bank); break; case SpecialSquare.SquareType.SuperTax: player.Pay(100, FreeParking, Bank); break; default: break; } }