219 lines
6.0 KiB
C
219 lines
6.0 KiB
C
|
|
#ifndef CMD_ZJH_h__
|
|||
|
|
#define CMD_ZJH_h__
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
//<2F>궨<EFBFBD><EAB6A8>;
|
|||
|
|
#define KIND_ID 6 //<2F><>ϷID;
|
|||
|
|
#define GAME_PLAYER 5 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define GAME_NAME TEXT("թ<><D5A9><EFBFBD><EFBFBD>") //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define EXPORT_NAME TEXT("ZJH") //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define VERSION_SERVER PROCESS_VERSION(6,0,3) //<2F><><EFBFBD><EFBFBD><EFBFBD>汾;
|
|||
|
|
#define VERSION_CLIENT PROCESS_VERSION(6,0,3) //<2F><><EFBFBD><EFBFBD><EFBFBD>汾;
|
|||
|
|
|
|||
|
|
//<2F>˿<EFBFBD>;
|
|||
|
|
#define MAX_COUNT 3 //<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ;
|
|||
|
|
#define FULL_COUNT 52 //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define MASK_COLOR 0xF0 //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>;
|
|||
|
|
#define MASK_VALUE 0x0F //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_ERROR 0 //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_SINGLE 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_DOUBLE 2 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_SHUN_ZI 3 //˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_JIN_HUA 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_SHUN_JIN 5 //˳<><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_BAO_ZI 6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define CT_SPECIAL 7 //235<33><35><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬;
|
|||
|
|
#define GS_ZJH_FREE GAME_STATUS_FREE //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
#define GS_ZJH_SEND_CARD GAME_STATUS_PLAY //<2F><><EFBFBD>ƽ<C6BD>;
|
|||
|
|
#define GS_ZJH_PLAYING (GAME_STATUS_PLAY+1) //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>״̬;
|
|||
|
|
#define ST_GAMING_NULL 0 //<2F>Թ<EFBFBD>;
|
|||
|
|
#define ST_GAMING_HIDDEN 1 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ST_GAMING_LOOK 2 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define ST_GAMING_LOSE 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define ST_GAMING_GIVEUP 4 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define OPERATE_NULL 0x00 //<2F><>Ч;
|
|||
|
|
#define OPERATE_GIVEUP 0x01 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define OPERATE_LOOK 0x02 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
#define OPERATE_FOLLOW 0x04 //<2F><>ע;
|
|||
|
|
#define OPERATE_ADD_CHIP 0x08 //<2F><>ע;
|
|||
|
|
#define OPERATE_COMPARE_CARD 0x10 //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SUB_S_GAME_START 100 //<2F><>Ϸ<EFBFBD><CFB7>ʼ;
|
|||
|
|
#define SUB_S_START_CHIP 101 //<2F><>ʼ<EFBFBD><CABC>ע;
|
|||
|
|
#define SUB_S_GIVE_UP 102 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
#define SUB_S_USER_CHIP 103 //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
#define SUB_S_LOOK_CARD 104 //<2F><><EFBFBD>Ƹ<EFBFBD>ע;
|
|||
|
|
#define SUB_S_COMPARE_CARD 105 //<2F><><EFBFBD>Ƹ<EFBFBD>ע;
|
|||
|
|
#define SUB_S_GAME_END 106 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
#define SUB_S_CHEAT_CARD 111 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SUB_C_SEND_OVER 1 //<2F><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>;
|
|||
|
|
#define SUB_C_USER_OPERATE 2 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SUB_C_MASTER_CONTROL 10 //<2F><><EFBFBD><EFBFBD><D7BF><EFBFBD>;
|
|||
|
|
|
|||
|
|
#pragma pack(1)
|
|||
|
|
//<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><>Ϸ״̬;
|
|||
|
|
typedef struct CMD_S_StatusFree
|
|||
|
|
{
|
|||
|
|
LONG lCellScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbMaxRound; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lCurChipScore; //<2F><>ǰע<C7B0><D7A2>;
|
|||
|
|
LONG lMaxChipScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
WORD wOperTimeOut; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1>;
|
|||
|
|
}StatusBase;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
struct CMD_S_StatusSendCard
|
|||
|
|
{
|
|||
|
|
StatusBase stBase; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
bool bSendOver; //<2F><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>;
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
BYTE cbGamingStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
LONG lUserChipScore[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬;
|
|||
|
|
struct CMD_S_StatusPlay
|
|||
|
|
{
|
|||
|
|
StatusBase stBase; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbGamingStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬
|
|||
|
|
BYTE cbHandCardData[MAX_COUNT]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lUserChipScore[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>ʼ;
|
|||
|
|
struct CMD_S_GameStart
|
|||
|
|
{
|
|||
|
|
BYTE cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
LONG lCurChipScore; //<2F><>ǰ<EFBFBD><C7B0>ע;
|
|||
|
|
BYTE cbGamingStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
LONG lUserChipScore[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>ʼ<EFBFBD><CABC>ע;
|
|||
|
|
typedef struct CMD_S_StartChip
|
|||
|
|
{
|
|||
|
|
BYTE cbCurRound; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD>û<EFBFBD>;
|
|||
|
|
DWORD dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lCurChipScore; //<2F><>ǰ<EFBFBD><C7B0>ע;
|
|||
|
|
}ChipInfo;
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>ע;
|
|||
|
|
struct CMD_S_ChipScore
|
|||
|
|
{
|
|||
|
|
WORD wChipUser; //<2F><>ע<EFBFBD>û<EFBFBD>;
|
|||
|
|
LONG lChipScore; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lTtlChipScore; //<2F>ܵ<EFBFBD><DCB5><EFBFBD>ע;
|
|||
|
|
DWORD dwOperateCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
ChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
struct CMD_S_GiveUp
|
|||
|
|
{
|
|||
|
|
WORD wGiveUpUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
ChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>;
|
|||
|
|
struct CMD_S_LookCard
|
|||
|
|
{
|
|||
|
|
WORD wLookUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbCardData[MAX_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>;
|
|||
|
|
ChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>;
|
|||
|
|
struct CMD_S_CompareCard
|
|||
|
|
{
|
|||
|
|
bool bWin; //<2F><>Ӯ<EFBFBD><D3AE><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wCompareUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lChipScore; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lTtlChipScore; //<2F>ܵ<EFBFBD><DCB5><EFBFBD>ע;
|
|||
|
|
ChipInfo stChipInfo; //<2F><>ǰ<EFBFBD><C7B0>ע<EFBFBD><D7A2>Ϣ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
struct CMD_S_GameEnd
|
|||
|
|
{
|
|||
|
|
bool isPrivateEnd; //˽<>˳<EFBFBD><CBB3>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbGamingStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
BYTE cbCardType[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbHandCardData[GAME_PLAYER][MAX_COUNT]; //<2F>û<EFBFBD><C3BB>˿<EFBFBD>;
|
|||
|
|
LONG lGameScore[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>÷<EFBFBD>;
|
|||
|
|
LONG lXiScore[GAME_PLAYER]; //ϲǮ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
struct CMD_C_UserOperate
|
|||
|
|
{
|
|||
|
|
DWORD dwCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
LONG lData; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>;
|
|||
|
|
struct CMD_S_CheatCardInfo
|
|||
|
|
{
|
|||
|
|
BYTE cbGamingStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ״̬;
|
|||
|
|
BYTE cbHandCardData[GAME_PLAYER][MAX_COUNT]; //<2F>û<EFBFBD><C3BB>˿<EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><>Ϸ<EFBFBD><CFB7>ɢ<EFBFBD>ṹ;
|
|||
|
|
struct CMD_S_Private_End_Info
|
|||
|
|
{
|
|||
|
|
BYTE aryActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
SCORE aryWinScore[GAME_PLAYER]; //Ӯ<><D3AE>;
|
|||
|
|
SCORE aryXiScore[GAME_PLAYER]; //ϲǮ;
|
|||
|
|
SCORE aryTotalScore[GAME_PLAYER]; //<2F>ܵ÷<DCB5>;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(CMD_S_Private_End_Info));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(CMD_S_Private_End_Info));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack()
|
|||
|
|
|
|||
|
|
#endif // CMD_ZJH_h__
|