Hey im making a game an i use hitpoints but if the hitpoints are 0 the world needs to change but i don't know how
this is my code for the enemy's:
this is my code for an enemy subclass:
and this is my code for the bullet:
Please help!
{
private boolean left = false;
public int hitpoints;
public int speed;
public int jump;
/**
* Checks to see if the enemy is shot, if so then the enemy is removed from
* the world
*/
public void act() {
if (getX() - getImage().getWidth() / 2 <= 1 ||
getX() + getImage().getWidth() / 2 >= getWorld().getWidth()-1)
{
left = !left;
setLocation( getX() , getY() +jump);
}
if(left)
{
move(-speed);
}
else {
move(speed);
}
if(isTouching(Human.class)){
removeTouching(Human.class);
Greenfoot.setWorld(new Invaded());
}
if(hitpoints <= 0)
{
getWorld().removeObject(this);
}
}// down is the pixels by which your enemy should come down
}public class SpaceShip2 extends Enemy
{
public SpaceShip2()
{
hitpoints = 1;
speed = 5;
jump = 50;
}
}public void act()
{
setLocation(getX(), getY() -10);
if(getY() <= 20)
{
World SpaceWorld;
SpaceWorld = getWorld();
SpaceWorld.removeObject(this);
}
if ( getWorld() != null)
{
Enemy theEnemy;
theEnemy = (Enemy) getOneIntersectingObject(Enemy.class);
if (theEnemy != null)
{
SpaceWorld spaceWorld;
spaceWorld = (SpaceWorld) getWorld();
theEnemy.hitpoints--;
Counter score = ((SpaceWorld)getWorld()).getScore();
score.add(1);
spaceWorld.removeObject(this);
}
}
}
}

