y doesnt this work
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Obstacle here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Obstacle extends Actor
{
private Ball ball;
public boolean bottom=false;
public boolean top=false;
public boolean rightSide=false;
public boolean leftSide=false;
/**
* Act - do whatever the Obstacle wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
Board board=(Board)getWorld();
checkBall();
booleans();
}
private void checkBall()
{
Board board=(Board)getWorld();
if(bottom==true||top==true)
{
if(board.bounce==false)
{
board.deltaX=-board.deltaX;
}
}
if(rightSide==true||leftSide==true)
{
if(board.bounce==false)
{
board.deltaY=-board.deltaY;
}
}
}
private void booleans()
{
bottom1();
bottom2();
bottom3();
bottom4();
bottom5();
top1();
top2();
top3();
top4();
top5();
}
private boolean bottom1()
{
Object under=getOneObjectAtOffset(-getImage().getWidth()/2+1,getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean bottom2()
{
Object under=getOneObjectAtOffset(-getImage().getWidth()/2+20,getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean bottom3()
{
Object under=getOneObjectAtOffset(0,getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean bottom4()
{
Object under=getOneObjectAtOffset(getImage().getWidth()/2-20,getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean bottom5()
{
Object under=getOneObjectAtOffset(getImage().getWidth()/2-1,getImage().getWidth()/2,Ball.class);
return under!=null;
}
private void bottom()
{
if(bottom1())
{
bottom=true;
}
}
private boolean top1()
{
Object under=getOneObjectAtOffset(-getImage().getWidth()/2+1,-getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean top2()
{
Object under=getOneObjectAtOffset(-getImage().getWidth()/2+20,-getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean top3()
{
Object under=getOneObjectAtOffset(0,-getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean top4()
{
Object under=getOneObjectAtOffset(getImage().getWidth()/2-20,-getImage().getWidth()/2,Ball.class);
return under!=null;
}
private boolean top5()
{
Object under=getOneObjectAtOffset(getImage().getWidth()/2-1,-getImage().getWidth()/2,Ball.class);
return under!=null;
}
private void top()
{
if(top1()||top2()||top3()||top4()||top5())
{
top=true;
}
else
{
top=false;
}
}
