import java.awt.Graphics;
import java.awt.Color;
import java.awt.Image;
class Bomb extends GameObject
{
final int bombWidth = 19;
final int bombHeight = 26;
int x, y, endx, endy, speed;
Image bombImage;
MissileCommando parent;
Bomb (int startx, int starty, int endx, int endy, int speed, Image bombImage, MissileCommando parent)
{
this.x = startx;
this.y = starty;
this.endx = endx;
this.endy = endy;
this.speed = speed;
this.bombImage = bombImage;
this.parent = parent;
}
void erase (Graphics g)
{
g.setColor (skyColor);
g.fillRect (x - bombWidth/2, y - bombWidth/2, bombWidth, bombHeight);
}
void paint (Graphics g)
{
erase (g);
if (!alive)
{
return;
}
else if (explode)
{
alive = false;
explode = false;
return;
}
y += speed;
if (y > endy)
{
alive = false;
}
if (alive)
{
g.drawImage (bombImage, x - bombWidth/2, y - bombWidth/2, bombWidth, bombHeight, parent);
}
}
boolean collision (int x2, int y2, int range)
{
if (!alive || explode)
{
return false;
}
int distance = (int) Math.sqrt (((x2 - x) * (x2 - x))
+ ((y2 - y) * (y2 - y)));
range += bombWidth/2;
return distance <= range;
}
boolean collision (int x2, int y2, int w, int h)
{
if (!alive || explode)
{
return false;
}
return x >= x2 && x <= (x2 + w) && y >= y2 && y <= (y2 + h);
}
}