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

Reply via email to