diff options
Diffstat (limited to '02-hub3.rb')
-rw-r--r-- | 02-hub3.rb | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -1,14 +1,13 @@ require './level' require './frame' -class Level - interfaces %w(1 2 3) - description <<~EOD +$levels << Level.new do + @interfaces = %w(1 2 3) + @description = <<~EOD You are now a three-port hub. Your job is to forward frames from one interface to all the others. EOD - clicks 5 - def self.target(frame) + def target(frame) case frame.iface when ?1 [frame.to(?2), frame.to(?3)] @@ -17,18 +16,20 @@ class Level when ?3 [frame.to(?1), frame.to(?2)] else - puts "ERR" [] end end - def self.generate + def generate frames = {} - @@interfaces.each do |iface| + @interfaces.each do |iface| next if rand < 0.3 - frames[@@count.to_s] = Frame.new(iface, "Frame #{@@count}") - @@count += 1 + frames[@count.to_s] = Frame.new(iface, @count) + @count += 1 end frames end + + def click + end end |