import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot)
/**
* A bullet that can hit asteroids.
*
* @author Poul Henriksen
*/
public class Bullet extends SmoothMover
{
/** The damage this bullet will deal */
private static final int damage = 16;
/** A bullet looses one life each act, and will disappear when life = 0 */
private int life = 30;
public Bullet()
{
}
public Bullet(Vector speed, int rotation)
{
super(speed);
setRotation(rotation);
addForce(new Vector(rotation, 15));
Greenfoot.playSound("EnergyGun.wav");
}
/**
* The bullet will damage asteroids if it hits them.
*/
public void act()
{
if(life <= 0) {
getWorld().removeObject(this);
}
else {
life--;
move();
checkAsteroidHit();
}
}
/**
* Check whether we have hit an asteroid.
*/
private void checkAsteroidHit()
{
Asteroid asteroid = (Asteroid) getOneIntersectingObject(Asteroid.class);
if (asteroid != null){
getWorld().removeObject(this);
asteroid.hit(damage);
Space space World=(space)getWorld();
Counter.add(1);
}
}
}

