diff options
author | Nat Lasseter <user@4574.co.uk> | 2024-05-08 14:23:26 +0100 |
---|---|---|
committer | Nat Lasseter <user@4574.co.uk> | 2024-05-08 14:23:26 +0100 |
commit | 9a947b32a74e5f2866f12d9552e1265c3e3650a6 (patch) | |
tree | 4795d3923d9908e489e1355bd37ecdaf8bdb8602 /01-hub2.rb | |
parent | e796ea2d6d3aabe84ff165d8be110506482f895d (diff) |
Demo ends. For now...
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 |