class Hanoi::Jane::Dropper
Public Class Methods
new(stack, item, full_drop = false)
click to toggle source
# File lib/hanoi/jane/animation/dropper.rb, line 4 def initialize stack, item, full_drop = false stack.map { |i| self.push i } @item = item @full_drop = full_drop end
position(stack, item)
click to toggle source
# File lib/hanoi/jane/animation/dropper.rb, line 37 def Dropper.position stack, item pos = stack.index item return stack.length - 1 unless pos pos - 1 end
Public Instance Methods
drop()
click to toggle source
# File lib/hanoi/jane/animation/dropper.rb, line 10 def drop pos = Dropper.position self, @item self[pos] = @item unless pos >= self.length - 1 self[pos + 1] = nil end end
dropped()
click to toggle source
# File lib/hanoi/jane/animation/dropper.rb, line 19 def dropped if @full_drop return self[(Dropper.position self, @item)] || (Dropper.position self, @item) < 0 end ( self[(Dropper.position self, @item) - 1] || self[(Dropper.position self, @item)] ) || (Dropper.position self, @item) == 0 end
each() { |self| ... }
click to toggle source
# File lib/hanoi/jane/animation/dropper.rb, line 30 def each until dropped drop yield self end end