def contact?(obj)
      obj.x + obj.w > @x && obj.x < @x + @w && obj.x.round(6) == get_x(obj).round(6) && obj.y.round(6) == get_y(obj).round(6)
    end
def contact?(obj)
      obj.x + obj.w > @x && obj.x < @x + @w && obj.x.round(6) == get_x(obj).round(6) && obj.y.round(6) == get_y(obj).round(6)
    end
:nodoc:
 Creates a new ramp.

 Parameters:
 [x] The x-coordinate of the top left corner of a rectangle that
     completely (and precisely) encloses the ramp (thought of as a right
     triangle).
 [y] The y-coordinate of the top left corner of the rectangle described
     above.
 [w] The width of the ramp (which corresponds to the width of the
     rectangle described above).
 [h] The height of the ramp (which corresponds to the height of the
     rectangle described above, and to the difference between the lowest
     point of the ramp, where it usually meets the floor, and the
     highest).
 [left] Whether the height of the ramp increases from left to right. Use
        +false+ for a ramp that goes down from left to right.
 Checks if an object is in contact with this ramp (standing over it).

 Parameters:
 [obj] The object to check contact with. It must have the +x+, +y+, +w+
       and +h+ accessible attributes determining its bounding box.