⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bullet.java

📁 一款Java开发的打飞机小游戏
💻 JAVA
字号:
import java.util.Random;

/**
 * 子弹类
 * @author fantasyer
 * @version 1.0
 */
public class Bullet
{
    //子弹属性

    //x坐标、y坐标、子弹运行方向角度、子弹威力、飞行方式、图片种类
    int x, y, angle, power, movetype, kind;
    //子弹图片的高度、宽度
    int width, height;
    //子弹速度,x和y方向的速度
    double speed, xspeed, yspeed;
    //是否显示
    boolean isVisible;
    //随机移动子弹
    static Random r;

    /**
     * 初始化子弹的属性
     */
    Bullet(int x, int y, int angle, int speed, int power, int movetype,
           int kind)
    {
        this.x = x;
        this.y = y;
        this.angle = angle;
        this.speed = speed;
        this.power = power;
        this.movetype = movetype;
        this.kind = kind;

        double radians = Math.toRadians(angle);
        xspeed = speed*Math.sin(radians);
        yspeed = (-speed)*Math.cos(radians);
        width = height = Utility.getSize(kind);
        isVisible = true;

        r = new Random();
    }

    /**
     * 控制子弹的运动
     */
    public void move()
    {
        if (movetype==Utility.DOWN_MOVE||movetype==Utility.UP_MOVE)
        {
            x = (int)(x+xspeed);
            y = (int)(y+yspeed);
        }
        else if (movetype==Utility.LR_MOVE)     //左右摇摆子弹
        {
            x += r.nextInt(11)-5;
            y += yspeed;
        }
        else if (movetype==Utility.TARGET_MOVE) //跟踪子弹
        {
            if (x>Utility.GAME_WIDTH/2)
            {
                x--;
            }
            else if (x<Utility.GAME_WIDTH/2)
            {
                x++;
            }
            y += yspeed;
        }
    }

    /**
     * 检查子弹是否出了边界
     */
    public void checkEdge()
    {
        if (x<0||x>Utility.GAME_WIDTH||y<0||y>Utility.GAME_HEIGHT)
        {
            isVisible = false;
        }
    }

    /**
     * 获取isVisible属性
     * @return 控制子弹是否显示的isVisible属性
     */
    public boolean getVisible()
    {
        return isVisible;
    }

    /**
     * 设置isVisible的属性
     * @param value  用于设置子弹的显示属性
     */
    public void setVisible(boolean value)
    {
        isVisible = value;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -