📄 utility.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 + -