indexunknown is right, but the thing gets more complicated due to the perspective.

anyways, despite the perspective, an oval is still an oval.

you need to do something like:

human_coord = human.get(y) + human.getHeight(); //to retrieve the coords of the foot of the player (not the top of the sprite)

radius = doSomeMathWithTheOval();

if (Math.abs(ovalCenter - human_coord) > radius)

//dont move the player

to calculate the angle to do the math with the oval you need to make a triangle and then using trig calculate alpha

adjacent = Math.abs(oval.centerX - human_coordX);

opposite = Math.abs(oval.centerY - human_coordY);

alpha = Math.atan(opposite/adjacent) //returns the arc tangent, and thats the angle of your triangle

//dont forget its in radians

to convert radians to angles you can do either

degrees = radians * 180 / Math.pi

or

degrees = Math.toDegrees (radians)

that was a mix between pseudo-code and java code

let me know how did you solved the problem

see ya