Class: Smalruby::World
- Inherits:
-
Object
- Object
- Smalruby::World
- Includes:
- Singleton
- Defined in:
- lib/smalruby/world.rb
Overview
環境を表現するクラス
Instance Attribute Summary collapse
-
#board ⇒ Object
Returns the value of attribute board.
-
#button_change_queue ⇒ Object
readonly
Returns the value of attribute button_change_queue.
-
#current_stage ⇒ Object
Returns the value of attribute current_stage.
-
#objects ⇒ Object
Returns the value of attribute objects.
-
#sensor_change_queue ⇒ Object
readonly
Returns the value of attribute sensor_change_queue.
Instance Method Summary collapse
- #button_changed(pin, up_or_down) ⇒ Object
-
#initialize ⇒ World
constructor
A new instance of World.
- #sensor_changed(pin, value) ⇒ Object
Constructor Details
#initialize ⇒ World
Returns a new instance of World.
15 16 17 18 19 20 21 22 |
# File 'lib/smalruby/world.rb', line 15 def initialize @objects = [] @board = nil @sensor_change_queue = [] @sensor_change_queue.extend(Mutex_m) @button_change_queue = [] @button_change_queue.extend(Mutex_m) end |
Instance Attribute Details
#board ⇒ Object
Returns the value of attribute board.
10 11 12 |
# File 'lib/smalruby/world.rb', line 10 def board @board end |
#button_change_queue ⇒ Object (readonly)
Returns the value of attribute button_change_queue.
13 14 15 |
# File 'lib/smalruby/world.rb', line 13 def @button_change_queue end |
#current_stage ⇒ Object
Returns the value of attribute current_stage.
11 12 13 |
# File 'lib/smalruby/world.rb', line 11 def current_stage @current_stage end |
#objects ⇒ Object
Returns the value of attribute objects.
9 10 11 |
# File 'lib/smalruby/world.rb', line 9 def objects @objects end |
#sensor_change_queue ⇒ Object (readonly)
Returns the value of attribute sensor_change_queue.
12 13 14 |
# File 'lib/smalruby/world.rb', line 12 def sensor_change_queue @sensor_change_queue end |
Instance Method Details
#button_changed(pin, up_or_down) ⇒ Object
30 31 32 33 34 |
# File 'lib/smalruby/world.rb', line 30 def (pin, up_or_down) @button_change_queue.synchronize do @button_change_queue.push([pin, up_or_down]) end end |
#sensor_changed(pin, value) ⇒ Object
24 25 26 27 28 |
# File 'lib/smalruby/world.rb', line 24 def sensor_changed(pin, value) @sensor_change_queue.synchronize do @sensor_change_queue.push([pin, value]) end end |