Skip to content
Snippets Groups Projects
BattleMissile.java 1.09 KiB
Newer Older
Joseph Walton-Rivers's avatar
Joseph Walton-Rivers committed
package battle;

import asteroids.GameObject;
import math.Vector2d;

import java.awt.*;

import static asteroids.Constants.*;

public class BattleMissile extends GameObject {

    int ttl;
    int id;
    Color color;

    public BattleMissile(Vector2d s, Vector2d v, int id) {
        super(s, v);
        this.id = id;
        color = pColors[id];
        ttl = missileTTL;
        r = 4;
    }

    @Override
    public void update() {
        if (!dead()) {
            s.add(v);
            ttl--;
        }
    }

    @Override
    public BattleMissile copy() {
        BattleMissile copy = new BattleMissile(s, v, id);
        updateClone(copy);
        copy.ttl = ttl;
        copy.color = color;
        return copy;
    }

Joseph Walton-Rivers's avatar
Joseph Walton-Rivers committed
    @Override
    public void draw(Graphics2D g) {
        g.setColor(color);
        g.fillOval((int) (s.x-r), (int) (s.y-r), (int) r * 2, (int) r * 2);
    }

    public boolean dead() {
        return ttl <= 0;
    }

    public void hit() {
        // kill it by setting ttl to zero
        ttl = 0;
    }

    public String toString() {
        return ttl + " :> " + s;
    }


}