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

📄 upgrademessage.h

📁 添七,棋牌游戏源代码,功能齐全,稳定,适合用于棋牌游戏开发
💻 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 + -