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

📄 game.h

📁 飞机游戏
💻 H
📖 第 1 页 / 共 2 页
字号:
    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 + -