📄 game.h
字号:
GT_U8 kings; //同种飞机的不同颜色数
GT_S16 x; //横向坐标
GT_S16 y; //纵向坐标
GT_S8 xspd; //横向速度
GT_S8 yspd; //纵向速度
GT_U8 offset; //移动最大偏移量
GT_S16 life; //生命值
GT_S16 lifeTime; //生命期 0:在屏幕上不做停留,>0:在屏幕上停留的时间周期,-1:无限期停留
GT_S16 delay; //停留坐标
GT_U8 picIdx; //调用图片的序号
GT_U8 goods; //带有的东西
GT_S16 score; //获得分数
GT_U8 fireDelay; //发子弹延时
GT_U8 bulletMaxNum; //一次最多发射子弹数 1.最大支持6发
GT_U8 bullettype; //发射子弹类型
GT_U8 blasttype; //爆炸类型
}FLY_ENEMY;
// 获得的物品
typedef struct
{
GT_U8 type; //类型
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_U8 picIdx; //当前调用图片序号
GT_S8 xspd; //速度
GT_S8 yspd; //速度
}FLY_GOODS;
// 子弹定义
typedef struct
{
GT_U8 type; //类型
GT_U8 picIdx; //当前调用图片序号
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_S8 xspd; //横速度
GT_S8 yspd; //纵速度
}FLY_BULLET;
// 导弹定义
typedef struct
{
GT_U8 type; //类型
GT_S8 aimIdx; //目标编号
GT_S16 x; //当前坐标
GT_S16 y; //当前坐标
GT_S8 xspd; //横向速度
GT_S8 yspd; //纵向速度
GT_S16 power; //威力
}FLY_MISBULLET;
//保险定义
typedef struct
{
GT_U8 type; //类型
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_U8 picIdx; //当前调用图片的序号
GT_U8 power; //威力
}FLY_BOMB;
//爆炸效果
typedef struct
{
GT_U8 type; //类型
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_U8 picIdx; //当前调用图片的序号
}FLY_BLAST;
/*
//背景中其它可移动物体
typedef struct {
GT_U8 type; //类型
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_U8 xspd; //横向速度
GT_U8 yspd; //纵向速度
GT_U8 offset; //y方向移动最大偏移量
GT_U8 picIdx; //调用图片的序号
}FLY_OBJECT;
*/
// 玩家子弹坐标预定义
typedef struct
{
GT_U8 picIdx; //当前调用图片序号
GT_S16 x; //坐标
GT_S16 y; //坐标
GT_S8 xspd; //横速度
GT_S8 yspd; //纵速度
}FLY_PLAYERBULLET;
// BOSS子弹串定义
typedef struct
{
GT_U8 type; //发射方式
GT_U8 maxNum; //一次发射子弹个数
GT_U8 bulletType; //发射子弹类型
GT_U8 nextDelay; //下次发射延时
}FLY_BOSSBULLET;
// 射击点
typedef struct
{
GT_S16 x; //坐标
GT_S16 y; //坐标
}FLY_SHOOTPOINT , FLY_ENEMYPOINT;
/*typedef struct {
GT_U16 x; //坐标
GT_U16 y; //坐标
GT_U16 w; //宽度
GT_U16 h; //高度
}RECT;*/
///////////////////////////////////////////////////////////////////////////////////
// 游戏函数
///////////////////////////////////////////////////////////////////////////////////
//void GAMEFLYMain( WINDOW* parent ,INT16U idx, void* element );
//void Fly_In_Game();
//void Fly_SelectGame();
//void Fly_OptionsGame();
//void Fly_HelpGame();
//void Fly_StartGame();
GT_BOOL Fly_StartInit(void);
GT_BOOL Fly_Init(void);
//void Fly_SetKeyMap();
void Fly_DriveObjs(void);
void Fly_DriveGamScr(void);
//void Fly_GamPause();
void Fly_Finish(void);
void Fly_MakeEnemy(void);
void Fly_MakeEnemyInit(GT_U8 i);
void Fly_MakeGoods(GT_S16 i);
void Fly_MakeBoss(void);
void Fly_MakeEneBul(GT_S16 i);
void Fly_MakeBossBul(GT_S16 i);
void Fly_MakeBossBul_S(GT_S16 i , FLY_SHOOTPOINT shootpoint);
void Fly_MakeBossBul_SL(GT_S16 i , FLY_SHOOTPOINT shootpoint , GT_U8 bullettype);
void Fly_MakeBossBul_SG(GT_S16 i , GT_U8 direction, FLY_SHOOTPOINT shootpoint);
void Fly_MakeBossBul_JG(GT_S16 i , FLY_SHOOTPOINT shootpoint);
void Fly_MakeMisBullet(void);
void Fly_MakeEneBul_To_Front(GT_S16 i , GT_S16 bulletNum , GT_S16 x , GT_S16 y , GT_U8 type);
void Fly_MakeEneBul_To_Player(GT_S16 i , GT_S16 bulletNum , GT_S16 x , GT_S16 y , GT_U8 type);
void Fly_MakeEneBulInit(GT_S16 i, GT_U8 type , GT_S16 x , GT_S16 y , GT_S8 xspd , GT_S8 yspd);
void Fly_MakeBomb(void);
void Fly_MakePlayerBullet(void);
void Fly_DealBullet(void);
void Fly_DealBomb(void);
void Fly_DealEneState(void);
void Fly_DealPlaState(void);
void Fly_DealBossState(void);
void Fly_DealBossDirection(GT_U8 Direction);
void Fly_DealBoss(GT_S16 wide , GT_S16 high);
void Fly_DealGoods(void);
void Fly_BulletGoToPlayer(GT_S16 i);
GT_BOOL Fly_ChkHitEnemy(GT_S16 bulletWide, GT_S16 bulletHigh, GT_U8 i, GT_U8 j);
void Fly_ChkHitPlayer(GT_S16 bullet_wide, GT_S16 bullet_high, GT_U8 i);
GT_BOOL Fly_CheckIfHit(GT_S16 sx, GT_S16 sy, GT_S16 sw, GT_S16 sh, GT_S16 dx, GT_S16 dy, GT_S16 dw, GT_S16 dh);
GT_S16 Fly_MallocEne(void);
GT_S16 Fly_MallocBlastPT(void);
GT_S16 Fly_MallocGoods(void);
GT_S16 Fly_MallocBullet(void);
GT_S8 Fly_MallocMisBullet(void);
void Fly_CreateGoods(GT_S16 i);
void Fly_GetGoods(GT_S16 i);
void Fly_GetBomb(GT_U8 type);
GT_S8 Fly_GetAimIdx(void);
void Fly_ShowEnemy(void);
void Fly_ShowPlayer(void);
void Fly_ShowBoss(void);
void Fly_ShowBackScr(void);
void Fly_ShowBullet(void);
void Fly_ShowBomb(void);
void Fly_ShowBomb1(GT_S16 x, GT_S16 y , GT_S8 idx);
void Fly_ShowBomb2(GT_S16 x, GT_S16 y , GT_S8 idx);
void Fly_ShowBomb3(GT_S16 x, GT_S16 y , GT_S8 idx);
void Fly_ShowGoods(void);
void Fly_ShowActLife(void);
void Fly_ShowBlast(void);
void Fly_ShowScore(void);
void Fly_ShowActBomb(void);
void Fly_ShowMission(void);
UHRECT Fly_Set_Rect(GT_U16 x, GT_U16 y, GT_U16 w, GT_U16 h);
void Fly_DestroyEnemy(GT_S16 i);
void Fly_DestroyBul(GT_S16 i);
void Fly_DestroyGoods(GT_S16 i);
void Fly_DestroyMBul(GT_S16 i);
void Fly_DestroyBlastPT(GT_S16 i);
void Fly_DestroyAllBul(GT_S16 x , GT_S16 y , GT_S16 wide , GT_S16 high);
void Fly_DestroyAllEne(GT_S16 x , GT_S16 y , GT_S16 wide , GT_S16 high);
void Fly_GetMisAimOps(GT_S8 i, GT_S16 *x, GT_S16 *y, GT_S16 *wide, GT_S16 *high);
void Fly_FollowArith(GT_S16 ex, GT_S16 ey , GT_S16 mx, GT_S16 my , GT_S8 *mxspd, GT_S8 *myspd);
GT_U8 Fly_GetMisPicIdx(GT_S16 i);
GT_BOOL Fly_MisHitEne(GT_S16 i, GT_S16 *idx);
void Fly_SaveGame(void);
//void Fly_SaveOptionsGame(void);
void Fly_LoadGame(void);
void Fly_EncryptData(GT_U8 *Data);
void Fly_CompareGameSecret(void);
void Fly_DisGame(void);
//void DrawBmp2Bmp( INT32U srcBmpAddr, INT32U dstBmpAddr );
void Fly_DrawString(GT_S16 x, GT_S16 y, GT_U8 * Num , GT_U8 mode);
void Fly_GetBmpID(void);
//void Fly_GetBmpBuf();
/*INT16U InputGamePswWinProc( WINDOW * win, INT16U msg, INT16U wParam, void* lParam );
INT16U Fly_StartGameProc( WINDOW * win, INT16U msg, INT16U wParam, INT16U lParam );
INT16U GameFlyMainProc( WINDOW * win, INT16U msg, INT16U wParam, INT16U lParam );
INT16U Fly_SelectGameProc( WINDOW * win, INT16U msg, INT16U wParam, INT16U lParam );
INT16U Fly_OptionsDefaultProc( WINDOW * win, WIN_ELEMENT *ele , INT16U msg, INT16U wParam, void* lParam );
INT16U PSW_EB_DefaultProc( WINDOW * win, WIN_ELEMENT *ele , INT16U msg, INT16U wParam, void* lParam );*/
#ifdef FLY_DEBUG
void Fly_ShowStringNum();
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -