📄 upgrademessage.h
字号:
#pragma once
#ifndef TML_SERVER_BQ_MESSAGE_HEAD_FILE
#define TML_SERVER_BQ_MESSAGE_HEAD_FILE
//文件名字定义
#define CLIENT_DLL_NAME TEXT("BQ.ico")
//游戏信息
#define NAME_ID 45 //名字 ID
#define PLAY_COUNT 4 //游戏人数
//游戏状态定义
#define GS_WAIT_SETGAME 0 //等待东家设置状态
#define GS_WAIT_ARGEE 1 //等待同意设置
#define GS_SEND_CARD 20 //发牌状态
#define GS_WAIT_BACK 21 //等待扣压底牌
#define GS_PLAY_GAME 22 //游戏中状态
#define GS_WAIT_NEXT 23 //等待下一盘开始
/********************************************************************************/
//游戏数据包
/********************************************************************************/
//游戏状态数据包 ( 等待东家设置状态 )
struct GameStation_1
{
//游戏信息
BYTE iCardCount; //扑克数目
int iVersion;
int iVersion2;
};
//游戏状态数据包 ( 等待其他玩家开始 )
struct GameStation_2
{
//游戏信息
BYTE iBeginStation; //开始位置
BYTE iEndStation; //结束位置
BYTE iPlayCount; //游戏盘数
BYTE iCardCount; //扑克数目
};
//游戏状态数据包 ( 游戏正在发牌状态 )
//游戏状态数据包 ( 等待扣押底牌状态 )
struct GameStation_3
{
//游戏信息
BYTE iBeginStation; //开始位置
BYTE iEndStation; //结束位置
BYTE iMeStation;
BYTE iOtherStation;
BYTE iPlayCount; //游戏盘数
BYTE iCardCount; //扑克数目
//运行状态变量
int iWinPoint; //游戏积分
int iPunishPoint; //用户罚分
int iUpGradePeople; //庄家位置
BYTE iPlayNTNum[2]; //各玩家的主牌数目
BYTE iBeenPlayGame; //已经游戏的局数
//反牌信息
int iNtPeople; //反牌玩家
BYTE iNtHua; //反牌花色
BYTE iNtCardCount; //反牌牌数
//状态信息
BYTE iUserCardCount; //用户手上扑克数目
BYTE iUserCard[45]; //用户手上的扑克
};
//游戏状态数据包 ( 游戏中状态 )
struct GameStation_4
{
//游戏信息
BYTE iBeginStation; //开始位置
BYTE iEndStation; //结束位置
BYTE iMeStation;
BYTE iOtherStation;
BYTE iPlayCount; //游戏盘数
BYTE iCardCount; //扑克数目
//运行状态变量
int iUpGradePeople; //庄家位置
BYTE iBeenPlayGame; //已经游戏的局数
//状态信息
int iGamePoint; //用户游戏分数
int iOutCardPeople; //现在出牌用户
int iFirstOutPeople; //先出牌的用户
int iUserPoint[4];//用户游戏分数
BYTE iOutCardList[4][13];//出牌列表
BYTE iOutCardCount[4];//每列牌数
BYTE iRemainCard[4];//用户手上的牌数
BYTE iBaseOutCount; //出牌的数目
BYTE iUserCardCount; //用户手上扑克数目
BYTE iDeskCardCount[4]; //桌面扑克的数目
BYTE iUserCardList[195]; //用户手上的扑克
};
//游戏状态数据包 ( 等待下盘开始状态 )
struct GameStation_5
{
//游戏信息
BYTE iBeginStation; //开始位置
BYTE iEndStation; //结束位置
BYTE iPlayCount; //游戏盘数
BYTE iCardCount; //扑克数目
//运行状态变量
int iWinPoint; //游戏积分
int iPunishPoint; //用户罚分
int iUpGradePeople; //庄家位置
BYTE iPlayNTNum[2]; //各玩家的主牌数目
BYTE iBeenPlayGame; //已经游戏的局数
};
//用户同意游戏
struct UserArgeeGame
{
BYTE iBeginStation; //开始位置
BYTE iEndStation; //结束位置
BYTE iPlayCount; //游戏盘数
BYTE iCardCount; //扑克数目
};
//游戏开始
struct BeginUpgradeStruct
{
BYTE iUpgradeStation; //庄家位置
BYTE iPlayCount; //游戏回合
BYTE iNtStation; //现在的主牌
BYTE iStation[2]; //主牌的位置
};
//发牌数据包
struct SendCardStruct
{
BYTE iCard; //牌标号
};
//亮主牌数据包 (发向服务器)
struct ClientNtStruct
{
BYTE iHuaKind; //牌标号
BYTE iCardCount; //反牌数目
};
//亮主牌数据包 (发向客户端)
struct ServerNtStruct
{
BYTE bDeskStation; //反牌位置
BYTE iHuaKind; //花色
};
//底牌数据包
struct BackCardStruct
{
BYTE iBackCardCount; //扑克数目
BYTE iBackCard[3]; //底牌数据
};
//底牌数据包
struct BackCardExStruct
{
BYTE iNtHua; //主牌花色
BYTE iGiveBackPeople; //底牌玩家
BYTE iBackCardCount; //扑克数目
BYTE iBackCard[3]; //底牌数据
};
//留底牌状态数据包
struct BackStationStruct
{
BYTE iNtPeople; //反牌位置
BYTE iGiveBackStation; //留底位置
};
//游戏开始数据包
struct BeginPlayStruct
{
BYTE iOutDeskStation; //出牌的位置
};
//用户出牌数据包 (发向服务器)
struct OutCardStruct
{
int iCardCount; //扑克数目
BYTE iCardList[39]; //扑克信息
};
//用户甩牌失败数据包 (发向客户端)
struct OutShowCardStruct
{
BYTE iCardCount; //扑克数目
BYTE bDeskStation; //当前出牌者
BYTE iResultCount; //结果扑克数目
BYTE iCardList[78]; //扑克信息
};
//用户出牌数据包 (发向客户端)
struct OutCardMsg
{
int iNextDeskStation; //下一出牌者
BYTE iCardCount; //扑克数目
BYTE bDeskStation; //当前出牌者
BYTE iCardList[39]; //扑克信息
BYTE iOutCardList[4][13]; ///出牌列表
BYTE iOutListCount[4]; ///每列牌数
BYTE iAddOutList[13]; ///添加的牌列
};
//用户出牌数据包 (发向客户端)
struct BatchOutCardMsg
{
BYTE iCardCount; //扑克数目
BYTE iCardList[156]; //扑克信息
};
//玩家的分数据包
struct GamePointStruct
{
BYTE iKouCardCount[4]; //所扣牌数
BYTE iKouCard[4][13]; //所扣的牌
};
//游戏结束统计数据包
struct GameEndStruct
{
int iGamePoint; //游戏得分
int iTurePoint[4]; //庄家得分
BYTE iUpGradeStation; //庄家位置
BYTE iBackList[8]; //底牌扑克
};
//游戏结束统计数据包
struct GameCutStruct
{
int bDeskStation; //退出位置
int iTurePoint[4]; //庄家得分
};
struct HaveThingStruct
{
BYTE pos;
char szMessage[61];
};
struct LeaveResultStruct
{
BYTE bDeskStation;
int bArgeeLeave;
};
struct MessageStruct //客户端到服务器
{
char Message[200];
};
struct StopResultStruct
{
bool bArgee;
};
//叫分
struct UserJiaoFenStruct
{
int iFen;
int iNextDeskStation;//下一叫分者
};
// 游戏运行时用户信息
struct tagPlayInfoStruct
{
int iScore[4]; ///得分
BYTE iCardCnt[4]; ///用户手中的牌数
};
/********************************************************************************/
// 数据包处理辅助标识
/********************************************************************************/
#define ASS_UG_USER_SET 50 //用户设置游戏
#define ASS_BEGIN_UPGRADE 51 //升级游戏开始
#define ASS_SEND_CARD 52 //发牌信息
#define ASS_NT_CARD 53 //用户反牌
#define ASS_SEND_FINISH 54 //发牌完成
#define ASS_BACK_CARD 55 //底牌数据
#define ASS_BACK_CARD_EX 56 //底牌数据
#define ASS_BACK_CARD_RES 57 //底牌数据结果
#define ASS_WAIT_BACK 58 //用户留底牌
#define ASS_GAME_PLAY 59 //开始游戏
#define ASS_OUT_CARD 60 //用户出牌
#define ASS_SHOW_CARD 61 //甩牌失败
#define ASS_BATCH_OUT 62 //批量出牌
#define ASS_GAME_POINT 63 //用户分数
#define ASS_NEW_TURN 64 //新一轮开始
#define ASS_CONTINUE_END 65 //游戏结束
#define ASS_NO_CONTINUE_END 66 //游戏结束
#define ASS_CUT_END 67 //用户强行离开
#define ASS_SALE_END 68 //游戏安全结束
#define ASS_HAVE_THING 69
#define ASS_LEFT_RESULT 70
#define ASS_MESSAGE 71
#define ASS_STOP_THING 72
#define ASS_AGREE_STOP 73
#define ASS_JIAO_FEN 75 //叫分
#define ASS_RESEND_CARD 76 //重新发牌
#define ASS_PASS 77 //不出
#define ASS_MODIFY_PLAYINFO 78 //更新用户信息
/********************************************************************************/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -