class Hanoi::Jane::AnimatedTowers
Attributes
discs[RW]
height[RW]
towers[RW]
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/hanoi/jane/towers/animated_towers.rb, line 8 def initialize yield self if block_given? if @discs > @height raise HanoiException.new 'number_of_discs (%d) > height (%d)' % [@discs, @height] end @towers = @towers.new @discs end
Public Instance Methods
each() { |frame stacks, value, :key| ... }
click to toggle source
# File lib/hanoi/jane/towers/animated_towers.rb, line 18 def each until @towers.solved stacks = PaddedStacks.new @towers.stacks, @height value = @towers.rebased @towers.move yield Frame.new stacks, value, :key @anim = Animation.new do |a| a.stacks = stacks a.disc = @towers.disc a.from = @towers.from a.to = @towers.to a.height = @height end @anim.each do |frame| yield Frame.new frame.stacks, @towers.rebased, :tween end end yield Frame.new (PaddedStacks.new @towers.stacks, @height), @towers.rebased, :key end