📄 game.c
字号:
INT32U gFly_MissionID;
INT32U Fly_SelectPlayerID[3];
INT32U gFly_BackScreenID;
INT32U gFly_EnemyID[FLY_ENEMY_MAXNUM-18][4];
INT32U gFly_PlayerID;
INT32U gFly_BlastID[FLY_BLAST_MAXNUM];
INT32U gFly_BulletID21;
INT32U gFly_MisBulletID[2];
INT32U gFly_BossID;
INT32U gFly_GoodsID[FLY_GOODS_MAXNUM];
INT32U gFly_Bomb1ID[3];
INT32U gFly_Bomb2ID;
INT32U gFly_Bomb3ID[3];
INT32U gFly_Bomb4ID;
INT32U gFly_StrStage;
INT32U gFly_StrNumber;
INT32U gFly_StrGameOver;
INT32U gFly_StrContinue;
INT32U gFly_StrComplete;
INT32U gFly_StrGame;
INT32U gBmpSdramOffset;
//#ifdef BBK_FLY_GLOBALS
// 玩家起始资料
FLY_PLAYER Fly_PlayerInit[] =
{
//类型 横向坐标 纵向坐标 移动速度 生命 保险个数 当前调用图片序号 当前子弹威力
{1, 60, 320, 8, 3, 3, 0, 1},
{2, 60, 320, 7, 3, 3, 0, 1},
{3, 60, 320, 9, 3, 3, 0, 1}
};
//玩家图片张数
GT_U8 Fly_PlayerPicNum[] =
{
6 , 6 , 6
};
//玩家类型的尺寸
GT_U8 Fly_PlayerSize[] =
{
26, 32 , 30, 28 , 30, 28
};
//////////////////////////////////////////////////////////////////////////////////////////
//纵向飞行 横向坐标==1
//横向飞行 横向坐标==0
//不允许改变飞机初始化状态标志 纵向坐标==-1
//关于横向飞行状态有很多种变化:(请合理组合)
//横向速度为正值时 飞机从左向右飞 ,反之从右向左 为0时随机选择方向
//纵向速度为0时,会随机选择三种飞行状态的一种(水平飞行,斜向上,斜向下)
//纵向速度为正值时 斜向下飞行 ,反之 斜向上
//(横向飞行 移动最大偏移量 >=100 ,从100开始算,为100时没有偏移,走直线,大于100走曲线,理想数值120~150)
//生命期 停留坐标 >0时在屏幕上停留 =0不停留
// 敌人小飞机的起始资料
FLY_ENEMY Fly_EnemyInit[] =
{
//类型 同种飞机的不同颜色数 横向坐标 纵向坐标 横向速度 纵向速度 移动最大偏移量 生命值 生命期 停留坐标 调用图片的序号 带有的东西 获得分数 发子弹延时 一次最多发射子弹数 发射子弹类型 爆炸类型
{1, 4, 1, 0, 0, 4, 0, 12, 0, 0, 0, 0, 156, 38, 2, 4, 3},
{2, 2, 0, 0, -2, 0, 100, 15, 0, 0, 0, 0, 168, 41, 2, 4, 3},
{3, 2, 0, 0, 2, 0, 100, 12, 0, 0, 0, 0, 158, 40, 2, 4, 3},
{4, 4, 1, 0, 0, 4, 0, 20, 0, 0, 0, 0, 166, 38, 2, 5, 3},
{5, 2, 0, 0, -1, 0, 100, 25, 0, 0, 0, 0, 168, 35, 2, 5, 3},
{6, 2, 0, 0, 1, 0, 100, 20, 0, 0, 0, 0, 156, 35, 2, 5, 3},
{7, 3, 1, 0, 0, 4, 0, 28, 1, 1, 0, 0, 146, 41, 2, 6, 4},
{8, 1, 0, 0, -2, 0, 100, 22, 0, 0, 0, 0, 138, 36, 2, 6, 4},
{9, 1, 0, 0, 2, 0, 100, 22, 0, 0, 0, 0, 156, 37, 2, 6, 4},
{10, 4, 1, 0, 0, 4, 0, 25, 1, 1, 0, 0, 166, 35, 2, 7, 4},
{11, 2, 0, 0, -1, 0, 100, 33, 0, 0, 0, 0, 168, 37, 2, 7, 4}, //11
{12, 2, 0, 0, 1, 0, 100, 25, 0, 0, 0, 0, 158, 39, 2, 7, 4},
{13, 2, 1, 0, 0, 4, 0, 20, 1, 1, 0, 0, 148, 40, 2, 8, 3},
{14, 2, 0, 0, -2, 0, 100, 15, 0, 0, 0, 0, 150, 41, 2, 8, 3},
{15, 2, 0, 0, 2, 0, 100, 15, 0, 0, 0, 0, 136, 37, 2, 8, 3},
{16, 3, 1, 0, 0, 4, 0, 26, 0, 0, 0, 0, 158, 36, 2, 6, 3},
{17, 1, 0, 0, -2, 0, 100, 25, 0, 0, 0, 0, 166, 35, 2, 6, 4},
{18, 1, 0, 0, 2, 0, 100, 25, 0, 0, 0, 0, 168, 42, 2, 6, 4},
{19, 3, 1, -1, -1, 4, 0, 22, 0, 0, 0, 0, 198, 40, 3, 14, 5},
{20, 3, 1, -1, 1, 4, 0, 18, 0, 0, 0, 0, 188, 42, 3, 14, 5},
{21, 3, 1, 0, 0, 2, 0, 100, 1, 1, 0, 0, 282, 45, 3, 15, 4}, //21
{22, 1, 0, 0, 0, 0, 140, 150, 0, 0, 0, 0, 382, 55, 4, 16, 7},
{23, 1, 1, 0, 0, 1, 45, 160, -1, 1, 0, 0, 383, 52, 4, 17, 8},
{24, 2, 1, 0, 0, 2, 0, 120, 1, 1, 0, 0, 369, 54, 3, 11, 6},
{25, 4, 0, 0, 0, 0, 150, 200, 0, 0, 0, 0, 595, 56, 4, 10, 7},
{26, 2, 1, 0, 0, 2, 0, 200, 1, 1, 0, 0, 478, 52, 3, 14, 4}, //26
{27, 4, 0, 0, 0, 0, 140, 220, 0, 0, 0, 0, 498, 58, 4, 17, 7},
{28, 4, 1, 0, 0, 2, 0, 180, 1, 1, 0, 0, 462, 52, 4, 16, 8},
{29, 4, 1, 0, 0, 2, 0, 80, 1, 1, 0, 0, 290, 46, 3, 6, 5},
{30, 2, 1, 0, 0, 2, 0, 200, 1, 1, 0, 0, 488, 48, 4, 12, 7},
{31, 3, 1, 0, 0, 2, 0, 260, 1, 1, 0, 0, 580, 62, 5, 13, 8}, //31
{32, 1, 1, 0, 0, 1, 50, 250, -1, 1, 0, 0, 552, 52, 5, 9, 7},
{33, 3, 1, 0, 0, 2, 0, 250, 1, 1, 0, 0, 593, 54, 5, 16, 8},
{34, 1, 1, 0, 0, 1, 48, 300, -1, 1, 0, 0, 758, 56, 5, 17, 7},
{35, 4, 0, 0, 0, 0, 130, 200, 0, 0, 0, 0, 486, 48, 4, 11, 8},
{36, 4, 1, 0, 0, 1, 44, 160, -1, 1, 0, 0, 396, 52, 5, 10, 7},
{37, 3, 1, 0, 0, 2, 0, 280, 1, 1, 0, 0, 786, 61, 5, 16, 8},
{38, 4, 1, 0, 0, 2, 0, 80, 1, 1, 0, 0, 286, 44, 4, 7, 7},
{39, 4, 1, 0, 0, 2, 0, 80, 1, 1, 0, 0, 298, 46, 4, 15, 7},
{40, 3, 1, 0, 0, 2, 0, 200, 1, 1, 0, 0, 656, 43, 5, 17, 8},
{41, 4, 1, 0, 0, 2, 0, 200, 1, 1, 0, 0, 631, 53, 5, 12, 7}, //41
{42, 4, 1, 0, 0, 2, 0, 150, 1, 1, 0, 0, 428, 61, 5, 13, 8},
{43, 4, 1, 0, 0, 1, 0, 120, 1, 1, 0, 0, 366, 46, 4, 7, 5},
{44, 3, 1, 0, 0, 1, 0, 100, 1, 1, 0, 0, 356, 37, 3, 6, 6},
{45, 4, 1, 0, 0, 5, 0, 15, 0, 0, 0, 0, 388, 42, 3, 11, 5},
{46, 3, 1, 0, 0, 5, 0, 15, 0, 0, 0, 0, 366, 41, 3, 15, 6},
{FLY_BOSS1, 1, 50, 0, 2, 2, 60, 5000, 0, 170, 0, 0, 6688, 40, 0, 0, 8},
{FLY_BOSS2, 1, 50, 0, 2, 2, 60, 5000, 0, 170, 0, 0, 6686, 40, 0, 0, 8},
{FLY_BOSS3, 1, 50, 0, 2, 2, 60, 5000, 0, 170, 0, 0, 6886, 40, 0, 0, 8},
{FLY_BOSS4, 1, 50, 0, 2, 2, 60, 7000, 0, 170, 0, 0, 8888, 40, 0, 0, 8},
{FLY_BOSS5, 1, 50, 0, 2, 2, 60, 9000, 0, 170, 0, 0, 9999, 40, 0, 0, 8},
};
//敌人小飞机图片张数
GT_U8 Fly_EnemyPicNum[] =
{
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ,
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ,
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ,
3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ,
3 , 3 , 3 , 3 ,
12 , 6,
3 , 3 , 3 , 3 , 3//BOSS
};
//敌人小飞机类型的尺寸
GT_U8 Fly_EnemySize[] =
{
28, 23 , 24, 28 , 24, 28 , 30, 26 , 26, 30 , 26, 30 , 38, 28 , 28, 38 , 28, 38 , 42, 28,
28, 42 , 28, 42 , 34, 21 , 22, 34 , 22, 34 , 32, 27 , 34, 36 , 34, 36 , 38, 44 , 38, 44,
74, 31 , 58, 40 , 58, 40 , 56, 31 , 94, 29 , 74, 36 , 90, 35 , 82, 32 , 54, 39 , 94, 28,
84, 32 , 62, 42 , 62, 42 , 70, 36 , 42, 59 , 42, 59 , 74, 34 , 62, 32 , 56, 31 , 84, 35,
70, 40 , 68, 45 , 54, 28 , 46, 24 ,
38, 30 , 38, 53 ,
128, 64, 112, 80, 206, 60, 152, 62, 170, 53 //BOSS
};
//////////////////////////////////////////////////////////////////////////////////////////
//每种子弹的图片张数
GT_U8 Fly_BulletPicNum[] =
{
6 , 2 , 5 ,
1 , 4 , 2 , 2 , 2 ,
4 , 4 , 4 , 4 , 4 ,
4 , 4 , 2 , 2 , 2 ,
2 , 2 , 2
};
// 每种子弹类型的尺寸
GT_U16 Fly_BulletSize[] =
{
10, 16, 8, 25 , 6, 22 ,
8, 8 , 10, 8 , 8, 8 , 8, 8 , 8, 8 ,
14, 13 , 14, 13 , 10, 9 , 10, 9 , 10, 9 ,
8, 8 , 8, 8 , 12, 12 , 12, 12 , 16, 16 ,
16, 16 , 16, 16 , 8, 320
};
//////////////////////////////////////////////////////////////////////////////////////////
//每种物品的图片张数
GT_U8 Fly_GoodsPicNum[] =
{
2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2 , 2 ,
2 , 2 , 2 , 2
};
// 每种物品类型的尺寸
GT_U8 Fly_GoodsSize[] =
{
16, 17 , 16, 17 , 16, 17 , 16, 17 , 16, 17 ,
16, 17 , 16, 17 , 16, 17 , 16, 17 , 16, 17 ,
16, 17 , 16, 17 , 16, 17 , 16, 17
};
//////////////////////////////////////////////////////////////////////////////////////////
// 每种爆炸图片张数
GT_U8 Fly_BlastPicNum[] =
{
4 , 4 , 6 , 5 , 6 , 6 , 6 , 6
};
// 每种爆炸类型的尺寸
GT_U8 Fly_BlastSize[] =
{
14, 12 , 14, 12 , 40, 40 , 50, 40 , 42, 32 , 42, 32 , 42, 42 , 42, 42
};
//////////////////////////////////////////////////////////////////////////////////////////
//保险类型初始化
FLY_BOMB Fly_BombInit[] =
{
//类型 坐标 坐标 当前调用图片的序号 威力
{1, 0, 0, 0, 10},
{2, 0, 0, 0, 20},
{3, 0, 0, 0, 15},
{4, 0, 0, 0, 15}
};
// 每种保险图片张数
GT_U8 Fly_BombPicNum[] =
{
6 , 1 , 4 , 4
};
// 每种保险类型的尺寸
GT_U8 Fly_BombSize[] =
{
92, 104 , 240, 64 , 52, 109 , 60, 60
};
//////////////////////////////////////////////////////////////////////////////////////////
/*#define FLY_OBJECT_MAXNUM 0 //最大可移动背景种类
// 每种可移动背景图片张数
FLY_EXT_DAT GT_U8 Fly_ObjectPicNum[]={
0
};
// 每种可移动背景类型的尺寸
FLY_EXT_DAT GT_U8 Fly_ObjectSize[]={
0,0
};
*/
//////////////////////////////////////////////////////////////////////////////////////////
//发射方式:
//
// 1) 齐发类:
// 1为单点发散齐发
// 2为两点发散齐发
// 3为三点发散齐发
// 2) 单发类:
// 11为单点发散连续发射
// 12为两点发散连续发射
// 13为三点发散连续发射
// 3)固定方向连续发射:
// 14为单点固定方向连续发射
// 15为两点固定方向连续发射
// 16为三点固定方向连续发射
// 4)激光类:
// 21为单点激光发射
// 22为两点激光发射
// 23为三点激光发射
//
// 5)其它类: 暂时未定义
FLY_BOSSBULLET Fly_BossBullet[5][FLY_BOSSBULLET_MAXNUM] =
{
// 发射方式 一次发射子弹个数 发射子弹类型 下次发射延时
{ //BOSS1子弹串
{13, 3, 17, 35},
{ 3, 2, 11, 35},
{13, 4, 20, 45},
{21, 6, FLY_BULLET_JG_TYPE, 33},
{ 2, 4, 10, 28},
{13, 6, 6, 36},
{ 3, 3, 19, 44},
{16, 6, 16, 28}
},
{ //BOSS2子弹串
{ 3, 2, 18, 36},
{22, 6, FLY_BULLET_JG_TYPE, 25},
{13, 4, 17, 34},
{ 2, 4, 20, 46},
{16, 6, 12, 38},
{21, 6, FLY_BULLET_JG_TYPE, 28},
{ 3, 3, 19, 44},
{12, 5, 17, 26}
},
{ //BOSS3子弹串
{13, 3, 19, 37},
{ 3, 2, 13, 33},
{16, 6, 10, 45},
{22, 6, FLY_BULLET_JG_TYPE, 28},
{ 3, 3, 16, 48},
{13, 4, 20, 34},
{16, 6, 9, 46},
{ 3, 2, 13, 28}
},
{ //BOSS4子弹串
{ 3, 2, 16, 30},
{13, 3, 20, 30},
{ 3, 3, 11, 40},
{22, 6, FLY_BULLET_JG_TYPE, 20},
{16, 6, 10, 35},
{13, 4, 6, 30},
{ 3, 3, 19, 45},
{12, 5, 17, 20}
},
{ //BOSS5子弹串
{ 3, 4, 16, 20},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -