private void SimulatePlayerRealEstateDecision(Player activePlayer) { var playersPositionsFormingMonopoliesForPlayer = GetPositionsFormingMonopoliesForPlayer(activePlayer); foreach (var position in playersPositionsFormingMonopoliesForPlayer) { if (!activePlayer.WantsToPurchaseBuildingAtPosition(position) || position.MaxBuildingsReached()) { continue; } activePlayer.DecreaseBalance(position.house); position.AddBuilding(1); } }