my world edge wasn't set right so I made some big changes to it and now i'm broken and confused.
import greenfoot.*;
import java.awt.Color;
import java.util.List;
public class enemy extends Actor
{
private int size=5; // move this up here
public enemy() // had a semicolon here
{
size=Greenfoot.getRandomNumber(274);
}
public void act()
{
// enemy(); - you can't call your constructor
move(5);
lookForRocket();
if (enemyHit = true) {
//whatever should happen if the game is over;
death();
}
destroy();
}
public void death()
{
if (getX()==599)
{
getWorld().removeObject(this);
}
}
public boolean canSee(Class clss)
{
Actor actor = getOneObjectAtOffset(0, 0, clss);
return actor != null;
}
public void eat(Class clss)
{
Actor actor = getOneObjectAtOffset(0, 0, clss);
if(actor != null) {
getWorld().removeObject(actor);
}
} // forgot this bracket
public void move()
{
setLocation(getX()+2,getY());
}
public void lookForRocket()
{
if ( canSee(Rocket.class) )
{
eat(Rocket.class);
}
}
public void destroy()
{
if (getX()==599)
{
getWorld().removeObject(this);
}
public boolean enemyHit()
{
return getOneIntersectingObject(enemy.class) != null;
}
//public boolean enemyHit() {
// List<enemy> enemiesInWorld = getWorld().getObjects(enemy.class);//Enemy has to be the classname; If this is not the right classname you have to change it;
// for (enemy enemy : enemiesInWorld) {
//if (intersects(enemy)) {
//return true;
}
// }
// return false;
//}
//}

