diff options
Diffstat (limited to '01-hub2.rb')
-rw-r--r-- | 01-hub2.rb | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -1,32 +1,33 @@ require './level' require './frame' -class Level - interfaces %w(1 2) - description <<~EOD +$levels << Level.new do + @interfaces = %w(1 2) + @description = <<~EOD You are a two-port hub. Your job is to forward frames from one interface to the other. EOD - clicks 3 - def self.target(frame) + def target(frame) case frame.iface when ?1 [frame.to(?2)] when ?2 [frame.to(?1)] 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 |