228 lines
6.4 KiB
C
228 lines
6.4 KiB
C
|
|
#ifndef _CMD_ZJH_GAME_HEAD_FILE_
|
|||
|
|
#define _CMD_ZJH_GAME_HEAD_FILE_
|
|||
|
|
|
|||
|
|
#include "Types.h"
|
|||
|
|
#include "DataStream.h"
|
|||
|
|
|
|||
|
|
#pragma pack(1)
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_KIND_ID 6 //<2F><>ϷID;
|
|||
|
|
#define ZJH_GAME_PLAYER 5 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_GAME_NAME ("ը<><D5A8><EFBFBD><EFBFBD>") //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
#define ZJH_MAX_COUNT 3 //<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ;
|
|||
|
|
|
|||
|
|
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_MASK_VALUE 0x0F //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_MASK_COLOR 0xF0 //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD>;
|
|||
|
|
#define ZJH_VIEW_L1_ID 0 //<2F><>1<EFBFBD><31><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_VIEW_L2_ID 1 //<2F><>2<EFBFBD><32><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_VIEW_SELF_ID 2 //<2F>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_VIEW_R3_ID 3 //<2F><>2<EFBFBD><32><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_VIEW_R4_ID 4 //<2F><>1<EFBFBD><31><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_ERROR 0 //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_SINGLE 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_DOUBLE 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_SHUN_ZI 3 //˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_JIN_HUA 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_SHUN_JIN 5 //˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_BAO_ZI 6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_CT_SPECIAL 7 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>;
|
|||
|
|
enum tagZJHGameRuleEnum
|
|||
|
|
{
|
|||
|
|
eZJHGameRuleCardAA = 1, // <20><><EFBFBD><EFBFBD>AA
|
|||
|
|
eZJHGameRuleCompareRound1 = 1 << 1, // 1<>ֱ<EFBFBD><D6B1><EFBFBD>;
|
|||
|
|
eZJHGameRuleCompareRound2 = 1 << 2, // 2<>ֱ<EFBFBD><D6B1><EFBFBD>;
|
|||
|
|
eZJHGameRuleCompareRound3 = 1 << 3, // 3<>ֱ<EFBFBD><D6B1><EFBFBD>;
|
|||
|
|
eZJHGameRuleOpenCardRound5 = 1 << 4, // 5<>ֿ<EFBFBD><D6BF><EFBFBD>;
|
|||
|
|
eZJHGameRuleOpenCardRound10 = 1 << 5, // 10<31>ֿ<EFBFBD><D6BF><EFBFBD>;
|
|||
|
|
eZJHGameRuleOpenCardRound15 = 1 << 6, // 15<31>ֿ<EFBFBD><D6BF><EFBFBD>;
|
|||
|
|
eZJHGameRuleLookCardRound0 = 1 << 7, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
eZJHGameRuleLookCardRound2 = 1 << 8, // <20><>2<EFBFBD><32><EFBFBD><EFBFBD>;
|
|||
|
|
eZJHGameRuleLookCardRound3 = 1 << 9, // <20><>3<EFBFBD><33><EFBFBD><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬;
|
|||
|
|
#define ZJH_GS_FREE GAME_STATUS_FREE //<2F>ȴ<EFBFBD><C8B4><EFBFBD>ʼ;
|
|||
|
|
#define ZJH_GS_SEND_CARD GAME_STATUS_PLAY //<2F><><EFBFBD>ƽ<C6BD>;
|
|||
|
|
#define ZJH_GS_PLAYING (GAME_STATUS_PLAY + 1) //<2F><>Ϸ״̬;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>״̬;
|
|||
|
|
#define ZJH_ST_GAMING_NULL 0 //<2F>Թ<EFBFBD>;
|
|||
|
|
#define ZJH_ST_GAMING_HIDDEN 1 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_ST_GAMING_LOOK 2 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_ST_GAMING_LOSE 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_ST_GAMING_GIVEUP 4 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_OPERATE_NULL 0x00 //<2F><>Ч;
|
|||
|
|
#define ZJH_OPERATE_GIVEUP 0x01 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_OPERATE_LOOK 0x02 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_OPERATE_FOLLOW 0x04 //<2F><>ע;
|
|||
|
|
#define ZJH_OPERATE_ADD_CHIP 0x08 //<2F><>ע;
|
|||
|
|
#define ZJH_OPERATE_COMPARE_CARD 0x10 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_S_GAME_START 100 //<2F><>Ϸ<EFBFBD><CFB7>ʼ;
|
|||
|
|
#define ZJH_SUB_S_START_CHIP 101 //<2F><>ʼ<EFBFBD><CABC>ע;
|
|||
|
|
#define ZJH_SUB_S_GIVE_UP 102 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
#define ZJH_SUB_S_USER_CHIP 103 //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_S_LOOK_CARD 104 //<2F><><EFBFBD>Ƹ<EFBFBD>ע;
|
|||
|
|
#define ZJH_SUB_S_COMPARE_CARD 105 //<2F><><EFBFBD>Ƹ<EFBFBD>ע;
|
|||
|
|
#define ZJH_SUB_S_GAME_END 106 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_S_CHEAT_CARD 111 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_C_SEND_OVER 1 //<2F><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_C_USER_OPERATE 2 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ZJH_SUB_C_MASTER_CONTROL 10 //;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬;
|
|||
|
|
typedef struct ZJH_CMD_S_StatusFree
|
|||
|
|
{
|
|||
|
|
int lCellScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 cbMaxRound; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int lCurChipScore; //<2F><>ǰע<C7B0><D7A2>;
|
|||
|
|
int lMaxChipScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
uint16 wOperTimeOut; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1>;
|
|||
|
|
}ZJHStatusBase;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
struct ZJH_CMD_S_StatusSendCard
|
|||
|
|
{
|
|||
|
|
ZJHStatusBase stBase; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
bool bSendOver; //<2F><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>;
|
|||
|
|
uint16 wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
uint8 aryGamingStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
int aryUserChipScore[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬;
|
|||
|
|
struct ZJH_CMD_S_StatusPlay
|
|||
|
|
{
|
|||
|
|
ZJHStatusBase stBase; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
uint16 wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
uint16 wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
uint32 dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 aryGamingStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
uint8 aryHandCardData[ZJH_MAX_COUNT]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int aryUserChipScore[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>ʼ;
|
|||
|
|
struct ZJH_CMD_S_GameStart
|
|||
|
|
{
|
|||
|
|
uint8 cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
uint16 wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
int lCurChipScore; //<2F><>ǰ<EFBFBD><C7B0>ע;
|
|||
|
|
uint8 aryGamingStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
int aryUserChipScore[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>ʼ<EFBFBD><CABC>ע;
|
|||
|
|
typedef struct ZJH_CMD_S_StartChip
|
|||
|
|
{
|
|||
|
|
uint8 cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
uint16 wCurrentUser; //<2F><>ǰ<EFBFBD>û<EFBFBD>;
|
|||
|
|
uint32 dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int lCurChipScore; //<2F><>ǰ<EFBFBD><C7B0>ע;
|
|||
|
|
}ZJHChipInfo;
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ע;
|
|||
|
|
struct ZJH_CMD_S_ChipScore
|
|||
|
|
{
|
|||
|
|
uint16 wChipUser; //<2F><>ע<EFBFBD>û<EFBFBD>;
|
|||
|
|
int lChipScore; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
int lTtlChipScore; //<2F>ܵ<EFBFBD><DCB5><EFBFBD>ע;
|
|||
|
|
uint32 dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
ZJHChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
struct ZJH_CMD_S_GiveUp
|
|||
|
|
{
|
|||
|
|
uint16 wGiveUpUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
ZJHChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>;
|
|||
|
|
struct ZJH_CMD_S_LookCard
|
|||
|
|
{
|
|||
|
|
uint16 wLookUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 aryCardData[ZJH_MAX_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>;
|
|||
|
|
ZJHChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>;
|
|||
|
|
struct ZJH_CMD_S_CompareCard
|
|||
|
|
{
|
|||
|
|
bool bWin; //<2F><>Ӯ<EFBFBD><D3AE><EFBFBD><EFBFBD>;
|
|||
|
|
uint16 wChairID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint16 wCompareUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int lChipScore; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
int lTtlChipScore; //<2F>ܵ<EFBFBD><DCB5><EFBFBD>ע;
|
|||
|
|
ZJHChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
struct ZJH_CMD_S_GameEnd
|
|||
|
|
{
|
|||
|
|
bool isPrivateEnd; //˽<>˳<EFBFBD><CBB3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 aryGamingStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
uint8 aryCardType[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
uint8 aryHandCardData[ZJH_GAME_PLAYER][ZJH_MAX_COUNT]; //<2F>û<EFBFBD><C3BB>˿<EFBFBD>;
|
|||
|
|
int aryGameScore[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>÷<EFBFBD>;
|
|||
|
|
int aryXiScore[ZJH_GAME_PLAYER]; //ϲǮ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
struct ZJH_CMD_S_CheatCardInfo
|
|||
|
|
{
|
|||
|
|
uint8 aryGamingStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
uint8 aryHandCardData[ZJH_GAME_PLAYER][ZJH_MAX_COUNT]; //<2F>û<EFBFBD><C3BB>˿<EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
struct ZJH_CMD_C_UserOperate
|
|||
|
|
{
|
|||
|
|
uint32 dwCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int lData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><>Ϸ<EFBFBD><CFB7>ɢ<EFBFBD>ṹ;
|
|||
|
|
struct ZJH_CMD_S_Private_End_Info
|
|||
|
|
{
|
|||
|
|
uint8 aryActiveStatus[ZJH_GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
SCORE aryWinScore[ZJH_GAME_PLAYER]; //Ӯ<><D3AE>;
|
|||
|
|
SCORE aryXiScore[ZJH_GAME_PLAYER]; //ϲǮ;
|
|||
|
|
SCORE aryTotalScore[ZJH_GAME_PLAYER]; //<2F>ܵ÷<DCB5>;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(ZJH_CMD_S_Private_End_Info));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(ZJH_CMD_S_Private_End_Info));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#pragma pack()
|
|||
|
|
|
|||
|
|
#endif
|