You should clear your terminal so that all those old error messages are removed.
The last error message indicates the problem is in your Player1 class.
private void checkPlayer1Collision() {
Player1 player1 = (Player1)getOneIntersectingObject(Player1.class);
if(player1 != null) {
getWorld().removeObject(player1);
}
}import greenfoot.*;
public class Enemy extends Actor {
private static final GreenfootImage
ENEMY_IMAGE = new GreenfootImage("robot.png");
private ScoreManager score;
private int maxHealth;
private int health;
private int speed;
private int value;
public Enemy(ScoreManager score, int maxHealth, int speed, int value) {
this.score = score;
this.maxHealth = maxHealth;
this.speed = speed;
this.value = value;
health = maxHealth;
setImage(ENEMY_IMAGE);
}
public void act() {
setLocation(getX() - speed, getY());
checkIsOnScreen();
checkPlayer1Collision();
}
public void damage(int amount) {
health -= amount;
if(health <= 0) {
score.add(value);
getWorld().addObject(new Explosion2(), getX(), getY());
getWorld().removeObject(this);
} else {
//healthBar.updateImage();
}
}
private void checkPlayer1Collision() {
Player1 player1 = (Player1)getOneIntersectingObject(Player1.class);
if(player1 != null) {
getWorld().removeObject(player1);
}
}
private void checkIsOnScreen() {
if(!isOnScreen()) {
getWorld().removeObject(this);
}
}
private boolean isOnScreen() {
return getX() > 0;
}
}
if (getWorld() == null) return;
public void Player1Collision()
{
if (getWorld() != null)
{
Player1 collision = (Player1) getOneIntersectingObject(Player1.class);
if (collision != null)
{
SpaceWorld space = (SpaceWorld)getWorld(); //gets the space world
getWorld().addObject(new Explosion3(), getX(), getY());
space.removeObject(this);
space.removeObjects(space.getObjects(Enemy.class));
((Counter)getWorld().getObjects(Counter.class).get(0)).add(10);
space.removeObjects(space.getObjects(Enemy_Bullet.class));
}
}
}((Counter)getWorld().getObjects(Counter.class).get(0)).add(10);