From 6a70497c80bad4ccda00a9cb1fadf798a3c502d4 Mon Sep 17 00:00:00 2001 From: dansteele Date: Thu, 15 Jan 2015 17:17:27 +0000 Subject: [PATCH 1/4] Testing sleep --- traffic.rb | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/traffic.rb b/traffic.rb index cdc76e3..c8e917b 100644 --- a/traffic.rb +++ b/traffic.rb @@ -31,17 +31,67 @@ def draw(left, top, colour) def bulb_colour "#999999" - end + end + +end + +module TL + Go = "#00FF30" + Wait = "#FFFC00" + Stop = "#FF0000" + Off = "#999999" +end + + +class GoBulb < Bulb + def bulb_colour + if self.switched_on? + TL::Go + else + TL::Off + end +end + + +class WaitBulb < Bulb + def bulb_colour + if self.switched_on? + TL::Wait + else + TL::Off + end end +class StopBulb < Bulb + def bulb_colour + if self.switched_on? + TL::Stop + else + TL::Off + end +end + + + +while true + TrafficLight.each { |array| + @top. + sleep(1) + + + +} +end + + Shoes.app :title => "My Amazing Traffic Light", :width => 150, :height => 250 do background "#000000".."#666666", :curve => 10, :margin => 25 stroke black @traffic_light = TrafficLight.new - @top = Bulb.new self, 50, 40, true - @middle = Bulb.new self, 50, 100, true - @bottom = Bulb.new self, 50, 160, true + @top = GoBulb.new self, 50, 40, true + @middle = WaitBulb.new self, 50, 100, true + @bottom = StopBulb.new self, 50, 160, true click do From 50db47cfbdb74f8a1442de12519cb7118132c1e9 Mon Sep 17 00:00:00 2001 From: dansteele Date: Thu, 15 Jan 2015 17:19:10 +0000 Subject: [PATCH 2/4] Updated to latest version --- test.rb | 22 ++++++++++++++++++ traffic.rb | 67 +++++++++++++++++++++++++++--------------------------- 2 files changed, 56 insertions(+), 33 deletions(-) create mode 100644 test.rb diff --git a/test.rb b/test.rb new file mode 100644 index 0000000..7fe1396 --- /dev/null +++ b/test.rb @@ -0,0 +1,22 @@ + +def method_one + puts "Method one running" +end + +def method_two + puts "Method two running" +end + +def method_three + puts "Method three running" +end + + +while true + sleep(1) + method_one + sleep(1) + method_two + sleep(1) + method_three +end \ No newline at end of file diff --git a/traffic.rb b/traffic.rb index c8e917b..3d0d507 100644 --- a/traffic.rb +++ b/traffic.rb @@ -9,6 +9,13 @@ def each end end +module TL + Go = "#00FF30" + Wait = "#FFFC00" + Stop = "#FF0000" + Off = "#999999" +end + class Bulb < Shoes::Shape attr_accessor :stack attr_accessor :left @@ -31,56 +38,40 @@ def draw(left, top, colour) def bulb_colour "#999999" - end - -end - -module TL - Go = "#00FF30" - Wait = "#FFFC00" - Stop = "#FF0000" - Off = "#999999" + end end - class GoBulb < Bulb def bulb_colour - if self.switched_on? - TL::Go + if self.switched_on == true + TL::Go else TL::Off + end end -end +end class WaitBulb < Bulb - def bulb_colour - if self.switched_on? - TL::Wait + def bulb_colour + if self.switched_on == true + TL::Wait else TL::Off + end end + end class StopBulb < Bulb - def bulb_colour - if self.switched_on? - TL::Stop + def bulb_colour + if self.switched_on == true + TL::Stop else TL::Off + end end -end - - - -while true - TrafficLight.each { |array| - @top. - sleep(1) - - -} end @@ -89,11 +80,21 @@ def bulb_colour stroke black @traffic_light = TrafficLight.new - @top = GoBulb.new self, 50, 40, true - @middle = WaitBulb.new self, 50, 100, true + @top = GoBulb.new self, 50, 40, false + @middle = WaitBulb.new self, 50, 100, false @bottom = StopBulb.new self, 50, 160, true + counter = 0 click do - + @traffic_light.each {|state| + puts state.to_s + @top.switched_on = state[0] + @top.draw(@top.left, @top.top, @top.bulb_colour) + @middle.switched_on = state[1] + @middle.draw(@middle.left, @middle.top, @middle.bulb_colour) + @bottom.switched_on = state[2] + @bottom.draw(@bottom.left, @bottom.top, @bottom.bulb_colour) + sleep(1) + } end end From 1391b6c2f6dde3dffacf873a2ba169bf4e1b8456 Mon Sep 17 00:00:00 2001 From: dansteele Date: Thu, 15 Jan 2015 17:47:16 +0000 Subject: [PATCH 3/4] Used animate() to get loop working --- traffic.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/traffic.rb b/traffic.rb index 3d0d507..823eb42 100644 --- a/traffic.rb +++ b/traffic.rb @@ -87,14 +87,15 @@ def bulb_colour counter = 0 click do @traffic_light.each {|state| - puts state.to_s - @top.switched_on = state[0] - @top.draw(@top.left, @top.top, @top.bulb_colour) - @middle.switched_on = state[1] - @middle.draw(@middle.left, @middle.top, @middle.bulb_colour) - @bottom.switched_on = state[2] - @bottom.draw(@bottom.left, @bottom.top, @bottom.bulb_colour) - sleep(1) + animate(1) do + puts state.to_s + @top.switched_on = state[0] + @top.draw(@top.left, @top.top, @top.bulb_colour) + @middle.switched_on = state[1] + @middle.draw(@middle.left, @middle.top, @middle.bulb_colour) + @bottom.switched_on = state[2] + @bottom.draw(@bottom.left, @bottom.top, @bottom.bulb_colour) + end } end end From d381743c80ff4c4591e3e4d2727bdf8878e610b6 Mon Sep 17 00:00:00 2001 From: dansteele Date: Sat, 17 Jan 2015 13:04:47 +0000 Subject: [PATCH 4/4] Removed == true --- traffic.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/traffic.rb b/traffic.rb index 823eb42..f7a33e3 100644 --- a/traffic.rb +++ b/traffic.rb @@ -43,7 +43,7 @@ def bulb_colour class GoBulb < Bulb def bulb_colour - if self.switched_on == true + if self.switched_on TL::Go else TL::Off @@ -54,7 +54,7 @@ def bulb_colour class WaitBulb < Bulb def bulb_colour - if self.switched_on == true + if self.switched_on TL::Wait else TL::Off @@ -65,7 +65,7 @@ def bulb_colour class StopBulb < Bulb def bulb_colour - if self.switched_on == true + if self.switched_on TL::Stop else TL::Off