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

📄 game.h

📁 飞机游戏
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************/
/*  Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved.  */
/*******************************************************************
File :  game.h
Desc :  游戏
Author :  liaochaoyang
Date :  2007-08-27
Notes :
$Log: game.h,v $
Revision 1.6  2007/12/29 01:56:43  Liaochaoyang
no message

Revision 1.5  2007/10/30 13:24:41  Liaochaoyang
修改了随机数的产生机制!

Revision 1.4  2007/10/29 12:56:11  Liaochaoyang
去掉了ARM编译时的warning
修改了板子上运行时不能进入中间选项的bugs

Revision 1.3  2007/10/12 02:50:15  Liaochaoyang
no message

Revision 1.2  2007/10/08 02:19:54  Lingzhaojun
添加CVS版本自动注释脚本

*********************************************************************/

#ifndef __FLY_
#define __FLY_

//#define     FLY_DEBUG                                      //调试用
#define             FLY_ENCRYPT                                   //是否加解密
#define             GAME_PASSWORD                            //需密码进入

#define             FLY_RELEASE_DATE      10102000     //版本日期

typedef INT8U       GT_U8;
typedef INT16U  GT_U16;
typedef INT32U  GT_U32;
typedef INT8S   GT_S8;
typedef INT16S  GT_S16;
typedef INT32S  GT_S32;
typedef  int       GT_BOOL;

#define  true        TRUE
#define  false       FALSE

#define  SHUTDOWN_PIO                              (GPIO_PDAT0)    //低电关机
#define  Fly_GetRand(  maxValue )              (GetPositiveRandFly(maxValue))

//Save
#define  FLY_SAVE_PATH                              "A:\\系统\\数据\\游戏\\"
#define  FLY_SAVE_FILE                               "FLY     SAV"
#define  FLY_FLYMUSIC_FILE                       "FLYMUSICAUI"
#define  FLY_SAVE_FILE_LEN                                    70
#define PASSWORDPATH                          "A:\\系统\\配置"





//Timer
//#define  FLY_TIMER                                                    11

//游戏秘籍
typedef enum
{
    FLY_AUTOFIRE = 0,                                                          //自动发子弹
    FLY_MAXFIRE,                                                                  //火力全满
    FLY_MAXBOMB,                                                                 //保险全满
    FLY_MAXLIFE,                                                                   //生命全满
    FLY_CONTINUE,                                                                //游戏继续次数无限制
    FLY_DOUBLESCORE,                                                          //积分翻倍
    FLY_UNBEATABLE,                                                            //无敌状态
    FLY_SECRETNUM_MAX                                                   //秘籍总个数
}FLYSECRETIDX;

//Key
typedef enum
{
    FLY_KEYMAP_UP = 0,                                                      //影射键盘上
    FLY_KEYMAP_DOWN,                                                       //影射键盘下
    FLY_KEYMAP_LEFT,                                                         //影射键盘左
    FLY_KEYMAP_RIGHT,                                                       //影射键盘右
    FLY_KEYMAP_FIRE,                                                         //影射键盘开火
    FLY_KEYMAP_BOMB,                                                        //影射键盘放炸弹
    FLY_KEYMAP_MENU                                                       //影射键盘放炸弹
}FLYKEYIDX;

//Screen
#define  FLY_SCREENSCROLL_SPD                               2   //屏幕移动速度
#define  FLY_BackScr_HIGH1                              2000    //背景高度
#define  FLY_BackScr_HIGH2                               2100    //背景高度
#define  FLY_BackScr_HIGH3                                2100     //背景高度
#define  FLY_BackScr_HIGH4                                  986     //背景高度
#define  FLY_BackScr_HIGH5                              1746     //背景高度

//游戏工作区坐标
#define  FLY_WORKSPACE_X                                        0      //屏幕工作区坐标
#define  FLY_WORKSPACE_Y                                        0      //屏幕工作区坐标
#define  FLY_WORKSPACE_MAX_X                          240    //屏幕工作区坐标
#define  FLY_WORKSPACE_MAX_Y                          320    //屏幕工作区坐标
#define  FLY_SCORE_X                                              170      //显示分数坐标
#define  FLY_SCORE_Y                                                10      //显示分数坐标
#define  FLY_LIFE_X                                                     6      //显示生命坐标
#define  FLY_LIFE_Y                                                   6    //显示生命坐标
#define  FLY_BOMB_X                                                   6      //显示炸弹坐标
#define  FLY_BOMB_Y                                                16    //显示炸弹坐标

#define  FLY_CONFIG_X                                             138    //游戏设置音量X坐标
#define  FLY_CONFIG_Y                                              70     //游戏设置Y坐标


// 游戏运行参数
#define  FLY_ALL_GATES                                              5     //游戏总关数
#define  FLY_ENEMY_MAX                                             5     //屏幕上允许同时出现的最多敌人
#define  FLY_BULLET_MAX                                         100    //屏幕上允许同时出现的最多子弹个数
#define  FLY_MISBULLET_MAX                                      4     //屏幕上允许同时出现的最多导弹个数
#define  FLY_BLAST_MAX                                            30     //屏幕上允许同时出现爆炸点的个数
//#define  FLY_ACT_BACKOBJECT_MAX                           5     //屏幕上允许同时出现移动背景个数
#define  FLY_GOODS_MAX                                             6     //屏幕上允许出现的物品最多个数
#define  FLY_BOMB_MAX                                               6      //最大保险个数
#define  FLY_LIFE_MAX                                                6      //最大生命个数
#define  FLY_MISBULLET_WIDE_S                                8      //跟踪导弹宽度
#define  FLY_MISBULLET_HIGH_S                                 8      //跟踪导弹高度
#define  FLY_MISBULLET_WIDE_M                                6      //直发导弹宽度
#define  FLY_MISBULLET_HIGH_M                               28     //直发导弹高度

#define  FLY_MISBULLET_TYPE_M            1   //直发导弹类型
#define  FLY_MISBULLET_TYPE_S            2    //跟踪导弹类型

typedef enum
{
    DIRECTION_UP = 0,                                                         //方向
    DIRECTION_DOWN,
    DIRECTION_LEFT,
    DIRECTION_RIGHT,
    DIRECTION_LEFTUP,
    DIRECTION_RIGHTUP,
    DIRECTION_LEFTDOWN,
    DIRECTION_RIGHTDOWN
}FLYDIRECTIONIDX;

#define  FLY_PLAYER_MAXNUM                                      3     //最大玩家数

//敌人种类
#define  FLY_ENEMY_MAXNUM                                      46    //最大敌人种类
#define  FLY_ENEMY_REVOLVE        FLY_ENEMY_MAXNUM-1   //循环显示的飞机
#define  FLY_BOSS_TYPE                                             200    //BOSS类型
#define  FLY_BOSS_STRATNUM       FLY_ENEMY_MAXNUM+1    //BOSS类型开始编号
#define  FLY_BOSS_MAXNUM                                          5    //最大BOSS种类 (200以后是BOSS类型)
#define  FLY_BOSS1                               FLY_BOSS_TYPE+1
#define  FLY_BOSS2                               FLY_BOSS_TYPE+2
#define  FLY_BOSS3                               FLY_BOSS_TYPE+3
#define  FLY_BOSS4                               FLY_BOSS_TYPE+4
#define  FLY_BOSS5                               FLY_BOSS_TYPE+5

//子弹种类
#define FLY_BULLET_MAXNUM                                       21    //最大子弹种类 前三种为玩家子弹
#define FLY_BULLET_JG_TYPE           FLY_BULLET_MAXNUM    //为激光类型
#define FLY_BULLET_JG_DELAY                                     20   //激光持续时间

//物品定义
typedef enum
{
    FLY_GOODS_BOMB1 = 1,                                   //保险1
    FLY_GOODS_BOMB2,                                         //保险2
    FLY_GOODS_BOMB3,                                         //保险3
    FLY_GOODS_BOMB4,                                         //保险4
    FLY_GOODS_SGEM,                                           //小金币
    FLY_GOODS_LGEM,                                           //大金币
    FLY_GOODS_BULLET,                                        //子弹
    FLY_GOODS_MAXBULLET,                                 //全子弹
    FLY_GOODS_MISBULLET_S,                              //跟踪导弹
    FLY_GOODS_MISBULLET_M,                              //直射导弹
    FLY_GOODS_DESTROYALLBULLETS,                  //销毁全屏子弹
    FLY_GOODS_LIFE1,                                           //生命1
    FLY_GOODS_LIFE2,                                           //生命2
    FLY_GOODS_LIFE3                                          //生命3
}FLY_GOODSLIST;

//物品种类
#define  FLY_GOODS_MAXNUM                 FLY_GOODS_LIFE3   //最大物品种类
#define  FLY_GET_GOODS_LIST_MAXNUM                       20   //物品爆率表大小

//爆炸种类
#define  FLY_BLAST_MAXNUM                                          8   //最大爆炸种类
#define  FLY_PLYER_BLAST_TYPE                                    8   //玩家爆炸类型

//保险种类
#define  FLY_BOMB_MAXNUM                                           4   //最大保险种类
#define  FLY_PLAYER_BOMB1                                           1   //玩家保险1
#define  FLY_PLAYER_BOMB2                                           2   //玩家保险2
#define  FLY_PLAYER_BOMB3                                           3   //玩家保险3
#define  FLY_PLAYER_BOMB4                                           4   //即时保险4

//BOSS子弹串
#define  FLY_BOSSBULLET_MAXNUM                                8   //最大子弹序列数
#define  FLY_BOSS1_SHOOT_POINT                                 3   //可以发射子弹的点数

//每关最大敌人种类
#define  MISSION_MAX_NUM                                         15 //每关最大敌人种类

///////////////////////////////////////////////////////////////////////////////////
// 游戏结构
///////////////////////////////////////////////////////////////////////////////////

// 玩家角色定义
typedef struct
{
    GT_U8 type;                 //类型
    GT_S16 x;                    //横向坐标
    GT_S16 y;                    //纵向坐标
    GT_U8 spd;                  //移动速度
    GT_S8 life;                  //生命个数
    GT_S8 bombNum;       //保险个数
    GT_U8 picIdx;             //当前调用图片序号
    GT_U8 power;             //当前子弹威力
}FLY_PLAYER;

// 敌人角色定义
typedef struct
{
    GT_U8 type;                   //类型

⌨️ 快捷键说明

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