aboutsummaryrefslogtreecommitdiff
path: root/01-hub2.rb
diff options
context:
space:
mode:
Diffstat (limited to '01-hub2.rb')
-rw-r--r--01-hub2.rb21
1 files changed, 11 insertions, 10 deletions
diff --git a/01-hub2.rb b/01-hub2.rb
index 2a88ad9..7ecd8a1 100644
--- a/01-hub2.rb
+++ b/01-hub2.rb
@@ -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