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

📄 utility.java

📁 一款Java开发的打飞机小游戏
💻 JAVA
字号:
/**
 * 游戏中用到的全局常量、变量和函数
 * @author fantasyer
 * @version 1.0
 */
class Utility
{
    //当前地图显示的Y坐标(该变量可控制子弹发射频率)
    static int CURRENT_Y = 0;

    //描述游戏状态的一些信息
    final static int GAME_START = 0;    //开始游戏
    final static int GAME_RUNNING = 1;  //游戏正在进行中
    final static int GAME_PAUSE = 2;    //暂停游戏
    final static int GAME_OVER = 3;     //游戏结束
    final static int KEY_HELP = 4;      //按键帮助页面

    //描述当前菜单选项
    final static int MENU_START = 0;    //菜单的开始选项
    final static int MENU_HELP = 1;     //菜单的帮助选项
    final static int MENU_EXIT = 2;     //菜单的退出选项

    //整个地图的高度
    final static int MAP_HEIGHT = 4000;

    //游戏绘制区域的宽度和高度
    final static int GAME_WIDTH = 400;
    final static int GAME_HEIGHT = 600;

    final static int SCREEN_WIDTH = 800;
    final static int SCREEN_HEIGHT = 600;

    //敌机和Boss的图片数量
    final static int BACKGROUND_IMAGE_NUMBER = 5;
    final static int ENEMY_IMAGE_NUMBER = 8;
    final static int BOSS_IMAGE_NUMBER = 4;

    //飞机运行轨迹
    final static int LINE_MOVE = 1;
    final static int RIGHT_CURVE_MOVE = 2;
    final static int LEFT_CURVE_MOVE = 3;
    final static int LEFT_RIGHT_MOVE = 4;
    final static int CIRCLE_MOVE = 5;
    final static int DOWN_LR_MOVE = 6;
    final static int DOWN_CIRCLE_MOVE = 7;

    //子弹运行轨迹
    final static int DOWN_MOVE = 1;
    final static int UP_MOVE = 2;
    final static int LR_MOVE = 3;
    final static int TARGET_MOVE = 4;

    //子弹开火的方式
    final static int FIRE_AT_RATE = 1;
    final static int FIRE_RANDOM = 2;

    //飞机类型
    final static int ENEMY_1 = 1;
    final static int ENEMY_2 = 2;
    final static int ENEMY_3 = 3;
    final static int ENEMY_4 = 4;
    final static int ENEMY_5 = 5;
    final static int ENEMY_6 = 6;
    final static int ENEMY_7 = 7;
    final static int ENEMY_8 = 8;
    final static int BOSS_1 = 11;
    final static int BOSS_2 = 12;
    final static int BOSS_3 = 13;
    final static int BOSS_4 = 14;
    final static int BULLET_1 = 21;    //敌机子弹
    final static int BULLET_2 = 22;    //英雄子弹一
    final static int BULLET_3 = 23;    //英雄子弹二
    final static int HERO = 31;
    final static int AWARD_1 = 41;     //奖品
    final static int AWARD_2 = 42;
    final static int AWARD_3 = 43;

    //英雄飞机的相关属性
    final static int HERO_NUMBER = 3;
    final static int HERO_SPEED = 10;
    final static int HERO_HP = 100;

    //英雄飞机运行的方向
    final static int MOVE_LEFT = 1;
    final static int MOVE_RIGHT = 2;
    final static int MOVE_DOWN = 3;
    final static int MOVE_UP = 4;

    /**
     * 获取不同飞机种类的图片宽度(这里认为程序中所有的飞机都是正方形,同时所取的值也考虑到要能方便在关卡编辑器上显示)
     * @param kind 飞机的类型
     * @return int 对应图片的宽度和高度值
     */
    static int getSize(int kind)
    {
        int size = 0;
        if (kind==HERO)
        {
            size = 50;
        }
        else if (kind==ENEMY_1||kind==ENEMY_2||kind==ENEMY_3||kind==ENEMY_4)
        {
            size = 40;
        }
        else if (kind==ENEMY_5||kind==ENEMY_6||kind==ENEMY_7||kind==ENEMY_8)
        {
            size = 80;
        }
        else if (kind==BOSS_1||kind==BOSS_2)
        {
            size = 120;
        }
        else if (kind==BOSS_3||kind==BOSS_4)
        {
            size = 160;
        }
        else if (kind==BULLET_1)
        {
            size = 8;
        }
        else if (kind==BULLET_2)
        {
            size = 16;
        }
        else if (kind==BULLET_3)
        {
            size = 24;
        }
        else if (kind==AWARD_1||kind==AWARD_2||kind==AWARD_3)
        {
            size = 20;
        }
        return size;
    }
}

⌨️ 快捷键说明

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