attached is a bit of code that freezes up shoes! Any help? When the user
clicks on the square to move to, it freezes and I have to force quit out!
--
--TIMOTHY
class Player
attr_accessor(:name, :level, :player)
def initialize(shoes, name)
@level = 1
@name = name
@shoes = shoes
$tehtext = @shoes.para ""
@shoes.fill "#000000"
@player = @shoes.rect 100, 100, 50, 50
@shoes.nofill
@player.hover do $tehtext.replace self.name, :left => @player.left, :top => (@player.top - 30) end
@player.leave do $tehtext.hide end
@left = @player.left
@top = @player.top
end
def moveto(x,y)
@player.move(x,y)
end
end
class Grid
attr_accessor(:top, :left, :width1, :width2)
def initialize(top, left, width1, width2, player, shoes)
@player = player
@shoes = shoes
@shoes.fill "#CC9"
@shoes.rect top, left, width1, width2
@shoes.click do |button, left, top|
if @player.player.left < left
until @player.player.left == left
@player.moveto((@player.player.left + 5), (@player.player.top))
end
elsif @player.player.left > left
until @player.player.left == left
@player.moveto((@player.player.left - 5), (@player.player.top))
end
end
if @player.player.top > top
until @player.player.top == top
@player.moveto((@player.player.left), (@player.player.top - 5))
end
elsif @player.player.top < top
until @player.player.top == top
@player.moveto((@player.player.left), (@player.player.top + 5))
end
end
end
end
end
Shoes.app :width => 500, :height => 500 do
dude = Player.new(self,"Dude")
gritty = Grid.new(0, 0, 50, 50, dude, self)
end