Class: Monotony::Station
- Inherits:
-
PurchasableProperty
- Object
- Square
- PurchasableProperty
- Monotony::Station
- Defined in:
- lib/monotony/station.rb
Overview
Represents a railway station tile.
Instance Attribute Summary
Attributes inherited from PurchasableProperty
#cost, #is_mortgaged, #mortgage_value, #owner, #value
Attributes inherited from Square
#action, #colour, #name, #owner, #set
Instance Method Summary collapse
-
#initialize(opts) ⇒ Station
constructor
A new instance of Station.
Methods inherited from PurchasableProperty
#give_to, #is_mortgaged?, #mortgage, #number_in_set, #number_of_set_owned, #place_offer, #properties_in_set, #sell_to, #set_owned?, #unmortgage
Constructor Details
#initialize(opts) ⇒ Station
Returns a new instance of Station.
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/monotony/station.rb', line 10 def initialize(opts) super @set = :stations @action = Proc.new do |game, owner, player, property| if owner rent = [ 25, 50, 100, 200 ] multiplier = owner.properties.select { |p| p.is_a? Station }.count player.pay(owner, rent[multiplier - 1]) else player.behaviour[:purchase_possible].call(game, player, self) if player.currency >= cost end end end |