private void SimulateLandOnPropertyRailOrUtility(Player activePlayer, Position currentPosition) { if (!activePlayer.OwnsPosition(currentPosition)) { if (currentPosition.HasOwner()) { activePlayer.PayRent(currentPosition); if (activePlayer.HasBeenBankrupted()) { SimulateBankruptcyByPlayer(activePlayer, currentPosition.owner); } } else { if (activePlayer.WantsToPurchasePosition(currentPosition)) { activePlayer.PurchasePosition(currentPosition); } else { SimulateAuction(_players, currentPosition); } } } }
private void SimulateCommunityChest(Player activePlayer, List <Player> players) { _communityChestEngine.Simulate(activePlayer, players); if (activePlayer.HasBeenBankrupted()) { SimulateBankruptcyByBanker(activePlayer); } }
private void SimulateLandOnTax(Player activePlayer, Position currentPosition) { activePlayer.DecreaseBalance(currentPosition.cost); if (activePlayer.HasBeenBankrupted()) { SimulateBankruptcyByBanker(activePlayer); } }
private void SimulateLandOnChance(Player activePlayer) { _chanceEngine.Simulate(activePlayer); if (activePlayer.HasBeenBankrupted()) { SimulateBankruptcyByBanker(activePlayer); } }