Files

387 lines
15 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#ifndef DEFINE_HEAD_FILE
#define DEFINE_HEAD_FILE
//////////////////////////////////////////////////////////////////////////////////
//数值定义
//头像大小
#define FACE_CX 48 //头像宽度
#define FACE_CY 48 //头像高度
//长度定义
#define LEN_LESS_ACCOUNTS 6 //最短帐号
#define LEN_LESS_NICKNAME 6 //最短昵称
#define LEN_LESS_PASSWORD 6 //最短密码
//人数定义
#define MAX_CHAIR 100 //最大椅子
#define MAX_TABLE 512 //最大桌子
#define MAX_COLUMN 32 //最大列表
#define MAX_ANDROID 256 //最大机器
#define MAX_PROPERTY 128 //最大道具
#define MAX_WHISPER_USER 16 //最大私聊
#define MAX_CHAIR_GENERAL 8 //最大椅子
//列表定义
#define MAX_KIND 128 //最大类型
#define MAX_SERVER 1024 //最大房间
//参数定义
#define INVALID_CHAIR 0xFFFF //无效椅子
#define INVALID_TABLE 0xFFFF //无效桌子
//税收定义
#define REVENUE_BENCHMARK 0L //税收起点
#define REVENUE_DENOMINATOR 1000L //税收分母
//////////////////////////////////////////////////////////////////////////////////
//系统参数
//积分类型
//游戏状态
#define GAME_STATUS_FREE 0 //空闲状态
#define GAME_STATUS_PLAY 100 //游戏状态
#define GAME_STATUS_WAIT 200 //等待状态
//系统参数
#define LEN_USER_CHAT 128 //聊天长度
#define TIME_USER_CHAT 1L //聊天间隔
#define TRUMPET_MAX_CHAR 128 //喇叭长度
//////////////////////////////////////////////////////////////////////////////////
//索引质数
//列表质数
#define PRIME_TYPE 11L //种类数目
#define PRIME_KIND 53L //类型数目
#define PRIME_NODE 101L //节点数目
#define PRIME_PAGE 53L //自定数目
#define PRIME_SERVER 1009L //房间数目
//人数质数
#define PRIME_SERVER_USER 503L //房间人数
#define PRIME_ANDROID_USER 503L //机器人数
#define PRIME_PLATFORM_USER 100003L //平台人数
//////////////////////////////////////////////////////////////////////////////////
//数据长度
//资料数据
#define LEN_MD5 33 //加密密码
#define LEN_USERNOTE 32 //备注长度
#define LEN_ACCOUNTS 32 //帐号长度
#define LEN_NICKNAME 32 //昵称长度
#define LEN_PASSWORD 33 //密码长度
#define LEN_GROUP_NAME 32 //社团名字
#define LEN_UNDER_WRITE 32 //个性签名
#define LEN_SIGIN 5 //签到天数
#define LEN_BEGINNER 32 //新手活动长度
#define LEN_ADDRANK 50 //新手活动长度
#define LEN_HEAD_HTTP 256 //微信头像连接
#define LEN_OPENID 64 //微信头像连接
#define LEN_UNIONID 64 //微信头像连接
//长度宏定义
#define NAME_LEN 32 //名字长度
#define PASS_LEN 33 //密码长度
#define EMAIL_LEN 32 //邮箱长度
#define GROUP_LEN 32 //社团长度
#define COMPUTER_ID_LEN 33 //机器序列
#define UNDER_WRITE_LEN 32 //个性签名
//数据长度
#define LEN_QQ 16 //Q Q 号码
#define LEN_EMAIL 33 //电子邮件
#define LEN_USER_NOTE 256 //用户备注
#define LEN_SEAT_PHONE 33 //固定电话
#define LEN_MOBILE_PHONE 12 //移动电话
#define LEN_PASS_PORT_ID 19 //证件号码
#define LEN_COMPELLATION 16 //真实名字
#define LEN_DWELLING_PLACE 128 //联系地址
//机器标识
#define LEN_NETWORK_ID 13 //网卡长度
#define LEN_MACHINE_ID 33 //序列长度
//长度宏定义
#define LEN_TYPE 32 //种类长度
#define LEN_KIND 32 //类型长度
#define LEN_STATION 32 //站点长度
#define LEN_SERVER 32 //房间长度
#define LEN_MODULE 32 //进程长度
#define MAX_MATCH_DESC 4
//////////////////////////////////////////////////////////////////////////////////
//用户关系
#define CP_NORMAL 0 //未知关系
#define CP_FRIEND 1 //好友关系
#define CP_DETEST 2 //厌恶关系
#define CP_SHIELD 3 //屏蔽聊天
//////////////////////////////////////////////////////////////////////////////////
//性别定义
#define GENDER_FEMALE 0 //女性性别
#define GENDER_MANKIND 1 //男性性别
//////////////////////////////////////////////////////////////////////////////////
//游戏模式
#define GAME_GENRE_GOLD 0x0001 //金币类型
#define GAME_GENRE_SCORE 0x0002 //点值类型
#define GAME_GENRE_MATCH 0x0004 //比赛类型
#define GAME_GENRE_PRIVATE 0x0008 //私人场类型
//分数模式
#define SCORE_GENRE_NORMAL 0x0100 //普通模式
#define SCORE_GENRE_POSITIVE 0x0200 //非负模式
//扣费类型
#define MATCH_FEE_TYPE_GOLD 0x00 //扣费类型
#define MATCH_FEE_TYPE_MEDAL 0x01 //扣费类型
//比赛类型
#define MATCH_TYPE_LOCKTIME 0x00 //定时类型
#define MATCH_TYPE_IMMEDIATE 0x01 //即时类型
//////////////////////////////////////////////////////////////////////////////////
//用户状态
#define US_NULL 0x00 //没有状态
#define US_FREE 0x01 //站立状态
#define US_SIT 0x02 //坐下状态
#define US_READY 0x03 //同意状态
#define US_LOOKON 0x04 //旁观状态
#define US_PLAYING 0x05 //游戏状态
#define US_OFFLINE 0x06 //断线状态
#define US_WAITDISTRIBUTE 0x07 //等待分配
#define US_CAN_READY 0x08 //可以准备
//////////////////////////////////////////////////////////////////////////////////
//比赛状态
#define MS_NULL 0x00 //没有状态
#define MS_SIGNUP 0x01 //报名状态
#define MS_MATCHING 0x02 //比赛状态
#define MS_OUT 0x03 //淘汰状态
//////////////////////////////////////////////////////////////////////////////////
//房间规则
#define SRL_LOOKON 0x00000001 //旁观标志
#define SRL_OFFLINE 0x00000002 //断线标志
#define SRL_SAME_IP 0x00000004 //同网标志
//房间规则
#define SRL_ROOM_CHAT 0x00000100 //聊天标志
#define SRL_GAME_CHAT 0x00000200 //聊天标志
#define SRL_WISPER_CHAT 0x00000400 //私聊标志
#define SRL_HIDE_USER_INFO 0x00000800 //隐藏标志
//////////////////////////////////////////////////////////////////////////////////
//列表数据
//无效属性
#define UD_NULL 0 //无效子项
#define UD_IMAGE 100 //图形子项
#define UD_CUSTOM 200 //自定子项
//基本属性
#define UD_GAME_ID 1 //游戏标识
#define UD_USER_ID 2 //用户标识
#define UD_NICKNAME 3 //用户昵称
//扩展属性
#define UD_GENDER 10 //用户性别
#define UD_GROUP_NAME 11 //社团名字
#define UD_UNDER_WRITE 12 //个性签名
//状态信息
#define UD_TABLE 20 //游戏桌号
#define UD_CHAIR 21 //椅子号码
//积分信息
#define UD_SCORE 30 //用户分数
#define UD_GRADE 31 //用户成绩
#define UD_USER_MEDAL 32 //用户经验
#define UD_EXPERIENCE 33 //用户经验
#define UD_LOVELINESS 34 //用户魅力
#define UD_WIN_COUNT 35 //胜局盘数
#define UD_LOST_COUNT 36 //输局盘数
#define UD_DRAW_COUNT 37 //和局盘数
#define UD_FLEE_COUNT 38 //逃局盘数
#define UD_PLAY_COUNT 39 //总局盘数
//积分比率
#define UD_WIN_RATE 40 //用户胜率
#define UD_LOST_RATE 41 //用户输率
#define UD_DRAW_RATE 42 //用户和率
#define UD_FLEE_RATE 43 //用户逃率
#define UD_GAME_LEVEL 44 //游戏等级
//扩展信息
#define UD_NOTE_INFO 50 //用户备注
#define UD_LOOKON_USER 51 //旁观用户
//图像列表
#define UD_IMAGE_FLAG (UD_IMAGE+1) //用户标志
#define UD_IMAGE_GENDER (UD_IMAGE+2) //用户性别
#define UD_IMAGE_STATUS (UD_IMAGE+3) //用户状态
//////////////////////////////////////////////////////////////////////////////////
//数据库定义
#define DB_ERROR -1 //处理失败
#define DB_SUCCESS 0 //处理成功
#define DB_NEEDMB 18 //处理失败
//////////////////////////////////////////////////////////////////////////////////
//道具标示
#define PT_USE_MARK_DOUBLE_SCORE 0x0001 //双倍积分
#define PT_USE_MARK_FOURE_SCORE 0x0002 //四倍积分
#define PT_USE_MARK_GUARDKICK_CARD 0x0010 //防踢道具
#define PT_USE_MARK_POSSESS 0x0020 //附身道具
#define MAX_PT_MARK 4 //标识数目
//有效范围
#define VALID_TIME_DOUBLE_SCORE 3600 //有效时间
#define VALID_TIME_FOUR_SCORE 3600 //有效时间
#define VALID_TIME_GUARDKICK_CARD 3600 //防踢时间
#define VALID_TIME_POSSESS 3600 //附身时间
#define VALID_TIME_KICK_BY_MANAGER 3600 //游戏时间
//////////////////////////////////////////////////////////////////////////////////
//设备类型
#define DEVICE_TYPE_PC 0x00 //PC
#define DEVICE_TYPE_ANDROID 0x10 //Android
#define DEVICE_TYPE_ITOUCH 0x20 //iTouch
#define DEVICE_TYPE_IPHONE 0x40 //iPhone
#define DEVICE_TYPE_IPAD 0x80 //iPad
/////////////////////////////////////////////////////////////////////////////////
//手机定义
//视图模式
#define VIEW_MODE_ALL 0x0001 //全部可视
#define VIEW_MODE_PART 0x0002 //部分可视
//信息模式
#define VIEW_INFO_LEVEL_1 0x0010 //部分信息
#define VIEW_INFO_LEVEL_2 0x0020 //部分信息
#define VIEW_INFO_LEVEL_3 0x0040 //部分信息
#define VIEW_INFO_LEVEL_4 0x0080 //部分信息
//其他配置
#define RECVICE_GAME_CHAT 0x0100 //接收聊天
#define RECVICE_ROOM_CHAT 0x0200 //接收聊天
#define RECVICE_ROOM_WHISPER 0x0400 //接收私聊
//行为标识
#define BEHAVIOR_LOGON_NORMAL 0x0000 //普通登录
#define BEHAVIOR_LOGON_IMMEDIATELY 0x1000 //立即登录
/////////////////////////////////////////////////////////////////////////////////
//处理结果
#define RESULT_ERROR -1 //处理错误
#define RESULT_SUCCESS 0 //处理成功
#define RESULT_FAIL 1 //处理失败
/////////////////////////////////////////////////////////////////////////////////
//变化原因
#define SCORE_REASON_WRITE 0 //写分变化
#define SCORE_REASON_INSURE 1 //银行变化
#define SCORE_REASON_PROPERTY 2 //道具变化
#define SCORE_REASON_MATCH_FEE 3 //比赛报名
#define SCORE_REASON_MATCH_QUIT 4 //比赛退赛
/////////////////////////////////////////////////////////////////////////////////
//登录房间失败原因
#define LOGON_FAIL_SERVER_INVALIDATION 200 //房间失效
////////////////////////////////////////////////////////////////////////////////
//游戏类型
#define NJMJ_KIND_ID 301 //南京麻将
//自定义事件KEY
#define CREATE_PRIVATE_ROOM_EVENT "CreatePrivateRoomEvent" //创建房间事件
#define JOIN_PRIVATE_ROOM_EVENT "JoinPrivateRoomEvent" //加入房间事件
#define DISMISS_ROOM_EVENT "DismissRoomEvent" //解散房间事件
#define UPDATE_USER_INSURE "UpdateUserInsure" //更新房卡信息
#define WXSHARE_FRIENDS_SUCCESS "WXShareFriendsSuccess" //分享朋友圈成功
#define CONTINUE_GAME "ContinueGame" //继续游戏
#define MAIN_SHOW_NEWS "Show_News" //显示新闻界面;
#define GET_LOTTERY_FINISH "Get_lottery_finish " //抽奖完成;
#define INPUT_UNION_ID "INPUT_UNION_ID" //输入工会ID;
#define Get_Union_Room_List "Get_Union_Room_List" //工会房间列表;
#define Get_AUTO_ROOM_INFO "GetAutoRoomInfo" //自动开房信息;
#define CREATE_AUTO_ROOM_EVENT "CreateAutoRoomEvent" //创建代开事件
#define DEL_AUTO_ROOM_EVENT "DeleteAutoRoomEvent" //删除代开事件
#define AUTO_USER_READY_EVENT "AutoUserReadyEvent" //自由场玩家准备事件
// 聊天
#define SEND_USER_CHAT_TEXT "SendUserChat" //用户聊天
#define SEND_USER_CHAT_FACE "SendUserFace" //表情
//场景TAG定义
#define SCENE_TAG_LOGON 99 //
#define SCENE_TAG_MAIN 100 //大厅
#define SCENE_TAG_GAME 200 //游戏场景
#define SCENE_TAG_RECORD 201 //录像场景
// 单例宏
#define CREATE_SINGLETON_MUTEX_CLEAR(VAR,pInstance,NULLPTR)\
private: \
VAR(){} \
VAR(VAR const&); \
VAR& operator= (VAR const&); \
~VAR(){} \
public: \
static VAR* getInstance() \
{ \
if(NULLPTR == pInstance) \
{ \
static std::mutex m_mutex; \
std::lock_guard<std::mutex> lck(m_mutex); \
if(NULLPTR == pInstance) \
{ \
pInstance = new VAR(); \
pInstance->init(); \
} \
} \
return pInstance; \
} \
static void destroy() \
{ \
if(NULLPTR != pInstance) \
{ \
static std::mutex m_mutex; \
std::lock_guard<std::mutex> lck(m_mutex); \
if(NULLPTR != pInstance) \
{ \
pInstance->clear(); \
delete pInstance; \
pInstance = NULLPTR; \
} \
} \
return;\
} \
//计时器时间
#define IDT_StartGame 30 //开始定时器时间
#define NJSP_START_GAME "Njsp_StartGame" //继续游戏
#define LEAVE_GAME "Leave_Game" //离开游戏
#define WEIXIN_SHOW "WeiXinImagic" //微信分享
#define SHOW_PRIVATE_END "show_private_end" //显示结算信息
#define TARGET_WIDTH 1280
#define TARGET_HEIGHT 720
const float kResolutionWidth = 1440;
const float kResolutionHeight = 900;
#endif