I am making a maze game and I am having trouble getting my ball to stop and not go through the wall when it hits it. Here is my attempted code.
public class Ball extends Animal
{
private boolean moving = false;
/**
* Act - do whatever the Ball wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
checkKeypress();
}
public void checkKeypress()
{
int x = 3;
moving = false;
if(moving = false)
{
if (Greenfoot.isKeyDown("left"))
{
move(-x);
turn(-5);
}
setRotation(360);
if (Greenfoot.isKeyDown("right"))
{
move(x);
turn(5);
}
setRotation(90);
if (Greenfoot.isKeyDown("up"))
{
move(-x);
}
if (Greenfoot.isKeyDown("down"))
{
move(x);
}
setRotation(0);
}
if(canSee(HWall.class))
{
moving = true;
}
if(!canSee(HWall.class))
{
moving = false;
}
if(canSee(VWall.class))
{
moving = true;
}
if(!canSee(VWall.class))
{
moving = false;
}
if (moving = true)
{
x = x*(-1);
}
}
}
