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 /02-hub3.rb | |
parent | e796ea2d6d3aabe84ff165d8be110506482f895d (diff) |
Demo ends. For now...
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 |