package marathon.leela;
import java.util.*;
import java.awt.*;
import java.awt.geom.*;
/**
* This abstract class defines the basic behavior for waves
* @author Matthew Chun-Lum
*
*/
public abstract class Wave {
protected Color color;
protected Point2D.Double origin;
protected long fireTime;
protected double velocity;
protected double power;
protected double distanceTraveled;
protected int direction;
public Wave(Color color, Point2D.Double origin, long fireTime, double power) {
this.color = color;
this.origin = origin;
this.power = power;
velocity = Utilities.bulletVelocity(power);
distanceTraveled = velocity;
}
/**
* Draws the wave
* @param g
*/
public void draw(Graphics2D g) {
g.setColor(color);
g.drawOval((int) (origin.x - distanceTraveled),
(int) (origin.y - distanceTraveled),
(int) (distanceTraveled * 2),
(int) (distanceTraveled * 2));
}
}