Macros.h
资源名称:1731.rar [点击查看]
上传用户:swkcbjrc
上传日期:2016-04-02
资源大小:45277k
文件大小:6k
源码类别:
游戏
开发平台:
Visual C++
- /*******************************************************************************
- Macros.h
- 游戏中要使用的一些宏定义和一些数据结构,不包括Game Rule部分
- ================================================================================
- 本程序修改自GAMEHIGH(open source)[http://www.gamehigh.net]项目程序,在此表示感谢紫瑗、骑士、阿鬼等。
- 这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用公共许可证条款来修改和
- 重新发布这一程序。或者用许可证的第二版,或者(根据你的选择)用任何更新的版本。
- 发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定目地的隐含的担保。
- 更详细的情况请参阅GNU通用公共许可证。
- 你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,写信给:
- The Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA02139, USA
- 或访问 http://www.gnu.org
- 文件版本:
- 0.0.9
- Build 0207011
- Date 2002-07-11
- 修改历史:
- 2002-4-28
- 增加一个CTreeCtrl的ID
- 2002-5-05
- 加入新的数据结构
- 2002-5-06
- 加入新的数据结构
- 2002-5-07
- 加入新的数据结构
- 2002-6-04
- 加入一个新的宏
- 2002-6-05
- 加入一个新的宏
- 2002-06-13
- 加入一些新的宏
- 2002-06-15
- 加入一些新的宏
- 2002-07-03
- 定义大厅服务器树的ID
- 2002-07-11
- 加入一个新的消息
- *******************************************************************************/
- #ifndef _GAME_VAR
- #define _GAME_VAR (WM_USER + 0x0001) //从WM_USER + 1开始,
- //到WM_USER + 2999都是程序中使用的变量范围
- #define _GAME_VAR_BEGIN (WM_USER + 1) //起始标志
- #define _GAME_HALL_TREE_ID (WM_USER + 2) //类CRoomListView中的m_RoomTree的ID定义
- #define _GAME_VAR_END (WM_USER + 2999) //起始标志
- #define START_BUTTONID (WM_USER + 9900) //从WM_USER + 9900开始到 9999,是一些零散的窗口定义的ID
- #define GOGO_BUTTONID (WM_USER + 9901) //大军出征按钮的ID
- #define OPEN_BUTTONID (WM_USER + 9902) //打开文件按钮的ID
- #define SAVE_BUTTONID (WM_USER + 9903) //保存布阵图按钮的ID
- #define SERVER_TREEID (WM_USER + 9904) //大厅中的服务器列表树的ID
- #define WM_TABLE_SITDOWN (WM_USER + 9800) //用户坐在了桌子上
- //wParam, 桌子的指针, CTable类
- //lParam, 方位:0, 左;1,上;2,右;3,下
- #endif
- //军棋的变量
- #ifndef _JQ_VAR
- #define _JQ_VAR 1024
- //安全删除指针
- #define SAFE_DELETE(p) { if(NULL != p) { delete (p); (p)=NULL; } }
- //安全删除数组
- #define SAFE_DELETE_ARRAY(p) { if(NULL != p) { delete[] (p); (p)=NULL; } }
- //安全释放对象
- #define SAFE_RELEASE(p) { if(NULL != p) { (p)->Release(); (p)=NULL; } }
- //检查窗口是否存在
- #define SAFE_CHECKWND(p) if(NULL != p && ::IsWindow(p->GetSafeHwnd()))
- //检查窗口是否为非法窗口
- #define SAFE_CHECKFALSEWND(p) if(NULL == p || !::IsWindow(p->GetSafeHwnd()))
- //检查指针
- #define SAFE_CHECKPOINTER(p) if(NULL != p)
- #define JQ_POSWIDTH 19
- #define JQ_POSHEIGHT 19
- #define JQ_CHESSWIDTH 32
- #define JQ_CHESSHEIGHT 32
- #endif
- //游戏的结构
- #ifndef _GAME_STRUCT
- #define _GAME_STRUCT 1024
- #define MAX_TABCONTAIN 4
- #define MAX_USERID_LENGTH 24
- #define MAX_USERNAME_LENGTH 24
- #define MAX_PASSWORD_LENGTH 24
- #define CLUBID_LENGTH 24
- #define CLUBRANK_LENGTH 24
- #define DATETIME_LENGTH 24
- #define ROOM_NAME_LENGTH 24
- #define MAX_TABLE 45
- #define MAX_ROOM 4096
- typedef struct tag_UserInfo //用户信息
- {
- char userID[MAX_USERID_LENGTH]; // 用户ID
- char userName[MAX_USERNAME_LENGTH]; // 用户名称
- char password[MAX_PASSWORD_LENGTH]; // 用户口令
- bool isAdmin; // 是否为网管
- bool isDeny; // 是否禁用
- int lastPlayGameID; // 最后玩的游戏种类ID
- char clubID[CLUBID_LENGTH]; // 俱乐部ID
- char clubRank[CLUBRANK_LENGTH]; // 俱乐部官衔
- long onlineTime; // 游戏在线总计时间
- char firstPlayTime[DATETIME_LENGTH]; // 第一次游戏时间
- char lastPlayTime[DATETIME_LENGTH]; // 最后一次游戏时间
- int imageFace; // 头像图片索引
- char email[30]; // email
- char address[100]; // 地址
- char homepage[100]; // 主页
- char resume[256]; // 简介
- bool isValidate; // 是否申请过帐号保护
- char validateQ[30]; // 申请帐号保护问题
- char validateA[30]; // 申请帐号保护答案
- char validateID[30]; // 申请帐号保护标识(例如身份证号码)
- }GAMEHIGH_USERINFO, *LPGAMEHIGH_USERINFO;
- enum USERSTATUS //状态定义
- {
- STATUSNOTDEFINE =0, //未定义
- IDLESSE =1, //空闲
- INGAMES =2, //进入了游戏,但游戏未开始
- PLAYING =3, //游戏进行中
- READY =4, //在一个桌子中,并已准备好
- NOTREADY =5, //坐在了一张桌子上,但未准备好
- };
- typedef struct tag_UserStatus //描述一个用户的状态
- {
- char userID[MAX_USERID_LENGTH]; // 用户ID
- char userName[MAX_USERNAME_LENGTH]; // 用户昵称,仅当UserID有效时,才有效
- USERSTATUS status; // 用户当前的状态,仅当UserID有效时,才有效
- }GAMEHIGH_USERSTATUS, *LPGAMEHIGH_USERSTATUS;
- typedef struct tag_Table //一张桌子
- {
- UINT tableID; //桌子ID,从0开始,最大不会超过MAX_TABLE
- char Initiator[MAX_USERID_LENGTH]; //创始人的UserID
- GAMEHIGH_USERSTATUS userStatus[MAX_TABCONTAIN]; // User的状态
- // Index含义:
- // 0: 左
- // 1: 上
- // 2: 右
- // 3: 下
- }GAMEHIGH_TABLE, *LPGAMEHIGH_TABLE;
- typedef struct tag_Room //房间
- {
- UINT uRoomID; //房间ID,每一个Server中的房间ID总是从0开始
- //顺次增加
- char RoomName[ROOM_NAME_LENGTH]; //房间的名称
- }GAMEHIGH_ROOM, *LPGAMEHIGH_ROOM;
- typedef struct tag_MyStatus //我的状态
- {
- LPGAMEHIGH_TABLE lpMyTable; //指向我现在所在桌子的指针
- //如果为NULL,则我为空闲状态
- }GAMEHIGH_MYSTATUS, *LPGAMEHIGH_MYSTATUS;
- #endif