public class Rocket extends Actor
{
private int xdistance=0,ydistance=0;
boolean fire = true;
private boolean toRemove=false;
public void addedToWorld(World MyWorld)
{
xdistance=getX();
ydistance=getY();
}
public void move()
{
double rx=xdistance-getX();
double ry=ydistance-getY();
double r=Math.sqrt(rx*rx+ry*ry);
int b=5;
int posx=0,posy=0;
if(r>b)
{
posx=(int)(getX()+b*rx/r);
posy=(int)(getY()+b*ry/r);
} else{
posx=xdistance;
posy=ydistance;
}
setLocation(posx,posy);
}
public void act()
{
if(Greenfoot.mouseMoved(null))
{
MouseInfo mouse=Greenfoot.getMouseInfo();
xdistance=mouse.getX();
ydistance=mouse.getY();
}
move();
fireLasars();
gameOver();
}
public void fireLasars()
{
if(Greenfoot.isKeyDown("a") && fire == true )
{
getWorld().addObject(new Lasars(),getX() - 30,getY());
fire = false;
}
else if (!Greenfoot.isKeyDown("a"))
{
fire = true;
}
}
public void gameOver()
{
Actor meteor = getOneIntersectingObject(Meteors.class);
if(meteor != null)
{
getWorld().removeObject(this);
Greenfoot.stop();
}
if(this.isAtEdge() == true)
{
World world;
world = getWorld();
getWorld().removeObject(this);
Greenfoot.stop();
}
}
