From 9a947b32a74e5f2866f12d9552e1265c3e3650a6 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Wed, 8 May 2024 14:23:26 +0100 Subject: Demo ends. For now... --- 02-hub3.rb | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to '02-hub3.rb') diff --git a/02-hub3.rb b/02-hub3.rb index 8750027..5379bb4 100644 --- a/02-hub3.rb +++ b/02-hub3.rb @@ -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 -- cgit v1.2.1