public class Bullet {
    double x, y; // 子弹位置
    double speed; // 子弹速度
    double angle; // 子弹角度
    int range;    // 子弹射程

    public Bullet(double startX, double startY, double speed, double angle, int range) {
        this.x = startX;
        this.y = startY;
        this.speed = speed;
        this.angle = angle;
        this.range = range;
    }

    // 更新子弹位置
    public void update() {
        if (range > 0) {
            x += speed * Math.cos(angle);
            y += speed * Math.sin(angle);
            range -= 1; // 每次移动减少射程
        }
    }

    // 检测是否击中目标
    public boolean hitTarget(Target target) {
        return Math.hypot(x - target.x, y - target.y) <= target.radius;
    }
}
