341 lines
9.4 KiB
C
341 lines
9.4 KiB
C
|
|
#ifndef CMD_GAME_HEAD_FILE
|
|||
|
|
#define CMD_GAME_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma pack(1)
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
#define KIND_ID 210 //<2F><>Ϸ I D
|
|||
|
|
#define GAME_NAME TEXT("<22>ܵÿ<DCB5>") //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define GAME_PLAYER 3 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
#define GAME_PLAYER_2 2 //<2F><>Ϸ<EFBFBD><CFB7><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><C4BF><EFBFBD><EFBFBD>
|
|||
|
|
#define MAX_COUNT 16 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
#define FULL_COUNT 48 //ȫ<><C8AB><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
#define FULL_COUNT_15 45 //ȫ<><C8AB><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
#define MAX_MUSTCARD_COUT 11 //<2F>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><DFBC><EFBFBD>Ŀ
|
|||
|
|
#define NORMAL_COUNT 16 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
#define DISPATCH_COUNT 51 //<2F>ɷ<EFBFBD><C9B7><EFBFBD>Ŀ
|
|||
|
|
#define GOOD_CARD_COUTN 22 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
|
|||
|
|
//<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|||
|
|
#define MASK_COLOR 0xF0 //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|||
|
|
#define MASK_VALUE 0x0F //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CT_ERROR 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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_SINGLE_LINE 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CT_DOUBLE_LINE 5 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CT_THREE_LINE 6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ɻ<EFBFBD>);
|
|||
|
|
#define CT_THREE_TAKE_TWO 7 //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
#define CT_FOUR_TAKE_THREE 8 //<2F>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CT_BOMB_CARD 9 //ը<><D5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CT_3A_BOMB_CARD 10 //ը<><D5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define BCT_DOUBLE_JOKER 201 //˫<><CBAB>
|
|||
|
|
#define BCT_THREE_2 202 //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
#define BCT_SINGLE_JOKER_DOUBLE_2 203 //<2F><><EFBFBD><EFBFBD>˫2
|
|||
|
|
#define BCT_TONGHUASHUN 204 //ͬ<><CDAC>˳
|
|||
|
|
#define BCT_SINGLE_JOKER 205 //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
#define BCT_DOUBLE_2 206 //˫2
|
|||
|
|
#define BCT_SHUNZI 207 //˳<><CBB3>
|
|||
|
|
#define BCT_ALL_LITTLE 208 //ȫС
|
|||
|
|
#define BCT_NORMAL 209 //<2F><>ͨ<EFBFBD><CDA8>
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
#define GAME_SCENE_FREE GAME_STATUS_FREE //<2F>ȴ<EFBFBD><C8B4><EFBFBD>ʼ
|
|||
|
|
#define GAME_SCENE_SEND GAME_STATUS_PLAY //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
#define GAME_SCENE_CALL GAME_STATUS_PLAY+1 //<2F>з<EFBFBD>״̬
|
|||
|
|
#define GAME_SCENE_PLAY GAME_STATUS_PLAY+2 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
struct CMD_S_StatusFree
|
|||
|
|
{
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbTimeOutCard; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeCallScore; //<2F>з<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeStartGame; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
BYTE cbTimeHeadOutCard; //<2F>׳<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>з<EFBFBD>״̬
|
|||
|
|
struct CMD_S_StatusSend
|
|||
|
|
{
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbTimeOutCard; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeCallScore; //<2F>з<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeStartGame; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
BYTE cbTimeHeadOutCard; //<2F>׳<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
BYTE cbHandCardCount[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbHandCardData[NORMAL_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>з<EFBFBD>״̬
|
|||
|
|
struct CMD_S_StatusCall
|
|||
|
|
{
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbTimeOutCard; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeCallScore; //<2F>з<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeStartGame; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
BYTE cbTimeHeadOutCard; //<2F>׳<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
|
|||
|
|
//<2F>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
WORD wCurrentUser; //<2F>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbMustOutCard; //<2F>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
bool bScoreInfo[GAME_PLAYER]; //<2F>з<EFBFBD><D0B7><EFBFBD>Ϣ
|
|||
|
|
bool bScoreActive[GAME_PLAYER]; //<2F>зֲ<D0B7><D6B2><EFBFBD>;
|
|||
|
|
BYTE cbHandCardCount[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbHandCardData[NORMAL_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
struct CMD_S_StatusPlay
|
|||
|
|
{
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbTimeOutCard; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeCallScore; //<2F>з<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
BYTE cbTimeStartGame; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
BYTE cbTimeHeadOutCard; //<2F>׳<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMustOutCard; //<2F>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wTurnWiner; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbTurnCardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
BYTE cbTurnCardData[MAX_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>˿<EFBFBD><CBBF><EFBFBD>Ϣ
|
|||
|
|
BYTE cbHandCardData[MAX_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
BYTE cbHandCardCount[GAME_PLAYER]; //<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EEB6A8>
|
|||
|
|
|
|||
|
|
#define SUB_S_GAME_START 100 //<2F><>Ϸ<EFBFBD><CFB7>ʼ
|
|||
|
|
#define SUB_S_CALL_SCORE 101 //<2F>û<EFBFBD><C3BB>з<EFBFBD>
|
|||
|
|
#define SUB_S_BANKER_INFO 102 //ׯ<><D7AF><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
#define SUB_S_OUT_CARD 103 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SUB_S_PASS_CARD 104 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SUB_S_GAME_CONCLUDE 105 //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
#define SUB_S_SET_BASESCORE 106 //<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
|
#define SUB_S_CHEAT_CARD 107 //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
#define SUB_S_TRUSTEE 108 //<2F>й<EFBFBD>
|
|||
|
|
#define SUB_S_START_SCORE 109 //<2F><>ʼ<EFBFBD>з<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
//struct CMD_S_GameStart
|
|||
|
|
//{
|
|||
|
|
// WORD wStartUser; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
// WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
// bool bHasDaDu; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// BYTE cbCardCount[GAME_PLAYER]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
// BYTE cbCardData[NORMAL_COUNT]; //<2F>˿<EFBFBD><CBBF>б<EFBFBD>
|
|||
|
|
//};
|
|||
|
|
struct CMD_S_GameStart
|
|||
|
|
{
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wStartUser; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
BYTE cbCardCount[GAME_PLAYER]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbCardData[NORMAL_COUNT]; //<2F>˿<EFBFBD><CBBF>б<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//¼<><C2BC><EFBFBD><EFBFBD>ʼ;
|
|||
|
|
struct CMD_Record_GameStart
|
|||
|
|
{
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wStartUser; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
struct CMD_S_AndroidCard
|
|||
|
|
{
|
|||
|
|
BYTE cbHandCard[GAME_PLAYER][NORMAL_COUNT];//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
BYTE cbBankerCard[3];
|
|||
|
|
WORD wCurrentUser ; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
struct CMD_S_CheatCard
|
|||
|
|
{
|
|||
|
|
WORD wCardUser[GAME_PLAYER ]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbCardData[GAME_PLAYER ][MAX_COUNT]; //<2F>˿<EFBFBD><CBBF>б<EFBFBD>
|
|||
|
|
BYTE cbCardCount[GAME_PLAYER ]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>з<EFBFBD>
|
|||
|
|
struct CMD_S_CallScore
|
|||
|
|
{
|
|||
|
|
WORD wCallScoreUser; //<2F>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bCurrentScore; //<2F><>ǰ<EFBFBD>з<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//֪ͨ<CDA8><D6AA>ׯ;
|
|||
|
|
struct CMD_S_SendCallScore
|
|||
|
|
{
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMustOutCard; //<2F>س<EFBFBD><D8B3><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//ׯ<><D7AF><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct CMD_S_BankerInfo
|
|||
|
|
{
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
bool bShowMustOutCard; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD>ش<EFBFBD><D8B4><EFBFBD>
|
|||
|
|
BYTE cbMustOutCard; //<2F>س<EFBFBD><D8B3><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct CMD_S_OutCard
|
|||
|
|
{
|
|||
|
|
BYTE cbCardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
WORD wOutCardUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bLastCard; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
BYTE cbCardData[MAX_COUNT]; //<2F>˿<EFBFBD><CBBF>б<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct CMD_S_PassCard
|
|||
|
|
{
|
|||
|
|
BYTE cbTurnOver; //һ<>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
|
WORD wCurrentUser; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
WORD wPassCardUser; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
struct CMD_S_GameConclude
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
LONG lCellScore; //<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
bool bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
|
|||
|
|
SCORE lGameScore[GAME_PLAYER]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lBombScore[GAME_PLAYER]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lAllScore[GAME_PLAYER]; //<2F>ܳɼ<DCB3>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
BYTE bChunTian; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
BYTE bFanChunTian; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
|
|||
|
|
//ը<><D5A8><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbBombCount; //ը<><D5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbEachBombCount[GAME_PLAYER]; //ը<><D5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
BYTE cbBankerScore; //<2F>з<EFBFBD><D0B7><EFBFBD>Ŀ
|
|||
|
|
BYTE cbCardCount[GAME_PLAYER]; //<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ
|
|||
|
|
BYTE cbHandCardData[FULL_COUNT]; //<2F>˿<EFBFBD><CBBF>б<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>й<EFBFBD>
|
|||
|
|
struct CMD_S_TRUSTEE
|
|||
|
|
{
|
|||
|
|
WORD wTrusteeUser; //<2F>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bTrustee; //<2F>йܱ<D0B9>־
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EEB6A8>
|
|||
|
|
|
|||
|
|
#define SUB_C_CALL_SCORE 1 //<2F>û<EFBFBD><C3BB>з<EFBFBD>
|
|||
|
|
#define SUB_C_OUT_CARD 2 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SUB_C_PASS_CARD 3 //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SUB_C_TRUSTEE 4 //<2F>û<EFBFBD><C3BB>й<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB>з<EFBFBD>
|
|||
|
|
struct CMD_C_CallScore
|
|||
|
|
{
|
|||
|
|
bool bCallScore; //<2F>з<EFBFBD><D0B7><EFBFBD>Ŀ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct CMD_C_OutCard
|
|||
|
|
{
|
|||
|
|
BYTE cbCardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
BYTE cbCardData[MAX_COUNT]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>й<EFBFBD>
|
|||
|
|
struct CMD_C_TRUSTEE
|
|||
|
|
{
|
|||
|
|
bool bTrustee; //<2F>йܱ<D0B9>־
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
enum ePDKRuleEnum
|
|||
|
|
{
|
|||
|
|
ePDKRuleEnum_HandCardCount = 1 << 1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31>16<31>ţ<EFBFBD>0<EFBFBD><30>15<31><35>;
|
|||
|
|
ePDKRuleEnum_OutCardRule = 1 << 2, //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD> 1<>Ǻ<EFBFBD><C7BA><EFBFBD>3<EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD>0<EFBFBD><30><EFBFBD>ֺ<D7BE><D6BA><EFBFBD>3<EFBFBD><33><EFBFBD>ƣ<EFBFBD><C6A3>¾<EFBFBD>ʤ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>;
|
|||
|
|
ePDKRuleEnum_MustOutCard = 1 << 3, //<2F><><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
ePDKRuleEnum_3ABomb = 1 << 4, //3<><33>A<EFBFBD><41>ը<EFBFBD><D5A8>;
|
|||
|
|
ePDKRuleEnum_FOUR_TAKE_THREE = 1 << 5, //<2F>Ĵ<EFBFBD><C4B4><EFBFBD>;
|
|||
|
|
ePDKRuleEnum_DADU = 1 << 6, //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
ePDKRuleEnum_Bomb_Score = 1 << 7, //ը<><D5A8>+10;
|
|||
|
|
ePDKRuleEnum_PlayCount = 1 << 8, //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD> 1<><31>3<EFBFBD>ˣ<EFBFBD>0<EFBFBD><30>2<EFBFBD><32>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><>Ϸ<EFBFBD><CFB7>ɢ<EFBFBD>ṹ
|
|||
|
|
struct CMD_S_Private_End_Info
|
|||
|
|
{
|
|||
|
|
WORD wMainChairID; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbFinishCout; // <20><><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>
|
|||
|
|
bool aryActiveStatus[GAME_PLAYER]; // <20><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
SCORE lAllScore[GAME_PLAYER]; // <20>ܳɼ<DCB3>
|
|||
|
|
SCORE lDetails[GAME_PLAYER][16]; // <20>ɼ<EFBFBD><C9BC><EFBFBD>ϸ(Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16<31><36>)
|
|||
|
|
|
|||
|
|
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
|