206 lines
9.3 KiB
C
206 lines
9.3 KiB
C
|
|
#ifndef _13S_GAME_LOGIC_HEAD_FILE_
|
|||
|
|
#define _13S_GAME_LOGIC_HEAD_FILE_
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "13S_CMD.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_INVALID 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_SINGLE 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_ONE_DOUBLE 2 //ֻ<><D6BB>һ<EFBFBD><D2BB>;
|
|||
|
|
#define SSS_CT_FIVE_TWO_DOUBLE 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_THREE 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_FIVE_MIXED_FLUSH_NO_A 5 //ûA<C3BB><41>˳;
|
|||
|
|
#define SSS_CT_FIVE_MIXED_FLUSH_FIRST_A 6 //A<><41>ǰ˳<C7B0><CBB3>;
|
|||
|
|
#define SSS_CT_FIVE_MIXED_FLUSH_BACK_A 7 //A<>ں<EFBFBD>˳<EFBFBD><CBB3>;
|
|||
|
|
#define SSS_CT_FIVE_FLUSH 8 //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_FIVE_THREE_DEOUBLE 9 //<2F><>«(<28><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>);
|
|||
|
|
#define SSS_CT_FIVE_FOUR_ONE 10 //<2F><>֧(<28>Ĵ<EFBFBD>һ<EFBFBD><D2BB>);
|
|||
|
|
#define SSS_CT_FIVE_STRAIGHT_FLUSH_NO_A 11 //ûAͬ<41><CDAC>˳;
|
|||
|
|
#define SSS_CT_FIVE_STRAIGHT_FLUSH_FIRST_A 12 //A<><41>ǰͬ<C7B0><CDAC>˳;
|
|||
|
|
#define SSS_CT_FIVE_STRAIGHT_FLUSH_BACK_A 13 //A<>ں<EFBFBD>ͬ<EFBFBD><CDAC>˳;
|
|||
|
|
#define SSS_CT_FIVE_BOMB 44 //<2F><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CT_THREE_STRAIGHT 14 //<2F><>˳<EFBFBD><CBB3>(<28><><EFBFBD>ն<EFBFBD><D5B6>ǵ<EFBFBD>˳);
|
|||
|
|
#define SSS_CT_THREE_FLUSH 15 //<2F><>ͬ<EFBFBD><CDAC>(<28><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ͬ<EFBFBD><CDAC>);
|
|||
|
|
#define SSS_CT_SIXPAIR 16 //<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>);
|
|||
|
|
#define SSS_CT_FIVEPAIR_THREE 17 //<2F><><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ);
|
|||
|
|
#define SSS_CT_FOUR_THREESAME 18 //<2F><><EFBFBD>׳<EFBFBD><D7B3><EFBFBD>(<28>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>һ<EFBFBD><D2BB>);
|
|||
|
|
#define SSS_CT_SAME_COLOR 19 //<2F><>һɫ(<28><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7>);
|
|||
|
|
#define SSS_CT_ALL_SMALL 20 //ȫС(2-8);
|
|||
|
|
#define SSS_CT_ALL_BIG 21 //ȫ<><C8AB>(8-A);
|
|||
|
|
#define SSS_CT_THREE_BOMB 22 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ը<EFBFBD><D5A8>);
|
|||
|
|
#define SSS_CT_THREE_STRAIGHTFLUSH 23 //<2F><>ͬ<EFBFBD><CDAC>˳;
|
|||
|
|
#define SSS_CT_TWELVE_KING 24 //ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ȫ<><C8AB>J<EFBFBD><4A>Q<EFBFBD><51>K<EFBFBD><4B>A);
|
|||
|
|
#define SSS_CT_THIRTEEN 25 //ʮ<><CAAE>ˮ,һ<><D2BB><EFBFBD><EFBFBD>( A<><41>K<EFBFBD><4B>ȫ);
|
|||
|
|
#define SSS_CT_THIRTEEN_FLUSH 26 //ͬ<><CDAC>ʮ<EFBFBD><CAAE>ˮ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ͬ<><CDAC><EFBFBD><EFBFBD>A<EFBFBD><41>K<EFBFBD><4B>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>);
|
|||
|
|
|
|||
|
|
//<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CARD_MASK_COLOR 0xF0 //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>;
|
|||
|
|
#define SSS_CARD_MASK_VALUE 0x0F //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
#define SSS_CARD_DW 16
|
|||
|
|
#define SSS_CARD_XW 15
|
|||
|
|
|
|||
|
|
//<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ
|
|||
|
|
#define SSS_CARD_COUNT 54 //<2F>˿<EFBFBD><CBBF><EFBFBD>Ŀ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ṹ
|
|||
|
|
struct tag13SAnalyseData
|
|||
|
|
{
|
|||
|
|
uint8 bOneCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 bTwoCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 bThreeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 bFourCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 bFiveCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 bOneFirst[13]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
uint8 bTwoFirst[13]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
uint8 bThreeFirst[13]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
uint8 bFourFirst[13]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
uint8 bFiveFirst[13]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
bool bStraight; //<2F>Ƿ<EFBFBD>˳<EFBFBD><CBB3>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ṹ
|
|||
|
|
struct tag13SAnalyseResult
|
|||
|
|
{
|
|||
|
|
uint8 cbFourCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 cbThreeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 cbDoubleCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 cbSignedCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
uint8 cbFourCardData[13]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
uint8 cbThreeCardData[13]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
uint8 cbDoubleCardData[13]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
uint8 cbSignedCardData[13]; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ṹ
|
|||
|
|
struct tag13SAnalyseType
|
|||
|
|
{
|
|||
|
|
bool bOnePare; //<2F><>һ<EFBFBD><D2BB>
|
|||
|
|
bool bTwoPare; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bThreeSame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool bStraight; //<2F><>˳<EFBFBD><CBB3>
|
|||
|
|
bool bFlush; //<2F><>ͬ<EFBFBD><CDAC>
|
|||
|
|
bool bGourd; //<2F>к<EFBFBD>«
|
|||
|
|
bool bFourSame; //<2F><><EFBFBD><EFBFBD>֧
|
|||
|
|
bool bStraightFlush; //<2F><>ͬ<EFBFBD><CDAC>˳
|
|||
|
|
bool bFiveSame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
uint8 cbOnePare[100]; //һ<>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbTwoPare[100]; //<2F><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbThreeSame[100]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbStraight[100]; //˳<>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbFlush[100]; //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbGourd[100]; //<2F><>«<EFBFBD><C2AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbFourSame[100]; //<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbStraightFlush[100]; //ͬ<><CDAC>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 cbFiveSame[100]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
bool bbOnePare[20]; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD>Ա<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbTwoPare[20]; //<2F><><EFBFBD>ж<EFBFBD><D0B6>Ա<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbThreeSame[20]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbStraight[20]; //<2F><><EFBFBD><EFBFBD>˳<EFBFBD>ӱ<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbFlush[20]; //<2F><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbGourd[20]; //<2F><><EFBFBD>к<EFBFBD>«<EFBFBD><C2AB>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbFourSame[20]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbStraightFlush[20]; //<2F><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>˳<EFBFBD><CBB3>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
bool bbFiveSame[20]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
uint8 btOnePare; //һ<>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btThreeSame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btTwoPare; //<2F><><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btStraight; //˳<>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btFlush; //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btGourd; //<2F><>«<EFBFBD><C2AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btFourSame; //<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btStraightFlush; //ͬ<><CDAC>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 btFiveSame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
enum en13SSortCardType
|
|||
|
|
{
|
|||
|
|
enDescend, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
enAscend, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
enColor //<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><EFBFBD><DFBC><EFBFBD>
|
|||
|
|
class C13SGameLogic
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
static const uint8 m_bCardListData[SSS_CARD_COUNT]; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool m_bClassicRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
C13SGameLogic();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~C13SGameLogic();
|
|||
|
|
uint8 btCardSpecialData[13];
|
|||
|
|
//<2F><><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
uint8 GetCardType(uint8 bCardData[], uint8 bCardCount, uint8 btSpecialCard[]);
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>ֵ
|
|||
|
|
uint8 GetCardValue(uint8 bCardData) { return bCardData&SSS_CARD_MASK_VALUE; } //ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ֵ
|
|||
|
|
//<2F><>ȡ<EFBFBD><C8A1>ɫ
|
|||
|
|
uint8 GetCardColor(uint8 bCardData) { return (bCardData&SSS_CARD_MASK_COLOR) >> 4; } //ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD>ƵĻ<C6B5>ɫ
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void setClassicRule(bool bFlag) { m_bClassicRule=bFlag; }
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
void SortCardList(uint8 bCardData[], uint8 bCardCount, en13SSortCardType SortCardType = enDescend);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
void RandCardList(uint8 bCardBuffer[], uint8 bBufferCount);
|
|||
|
|
//ɾ<><C9BE><EFBFBD>˿<EFBFBD>
|
|||
|
|
bool RemoveCard(const uint8 bRemoveCard[], uint8 bRemoveCount, uint8 bCardData[], uint8 bCardCount);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
bool AppendCard(const uint8 bAppendCard[], uint8 bAppendCount, uint8 bCardData[], uint8 &bCardCount);
|
|||
|
|
//<2F>õ<EFBFBD><C3B5>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 GetCardCount(uint8 bCardData[]);
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><EFBFBD><DFBC><EFBFBD>ֵ
|
|||
|
|
uint8 GetCardLogicValue(uint8 bCardData);
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1>˿<EFBFBD>
|
|||
|
|
uint8 CompareCard(uint8 bInFirstList[], uint8 bInNextList[], uint8 bFirstCount, uint8 bNextCount, bool bComperWithOther);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tag13SAnalyseType GetType(uint8 bCardData[], uint8 bCardCount);
|
|||
|
|
|
|||
|
|
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
void AnalyseCard(const uint8 bCardDataList[], const uint8 bCardCount, tag13SAnalyseData& AnalyseData);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
void AnalysebCardData(const uint8 cbCardData[], uint8 cbCardCount, tag13SAnalyseResult & AnalyseResult);
|
|||
|
|
//<2F><><EFBFBD>õ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
void TheBestCard(tag13SAnalyseType tagCardType, uint8 btHandCardData[], uint8 btHandCardCount, uint8 btFrontCard[], uint8 btMidCard[], uint8 btBackCard[]);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD>ˮ<EFBFBD><CBAE>
|
|||
|
|
uint8 ThreeDunAllShuiShu(uint8 btFrontCard[],uint8 btMidCard[],uint8 btBackCard[]);
|
|||
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>Ĵ<EFBFBD>
|
|||
|
|
bool IsBiggerThanFront(uint8 btFrontFrontCard[],uint8 btFrontMidCard[],uint8 btFrontBackCard[],uint8 btFrontCard[],uint8 btMidCard[],uint8 btBackCard[]);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
|
bool IsSameCardData(uint8 btFirstCard[], uint8 btNextCard[], uint8 btFirstCount, uint8 btNextCount);
|
|||
|
|
//<2F>Ƿ<EFBFBD>ͬ<EFBFBD><CDAC>
|
|||
|
|
bool IsFlush(const uint8 cbCardData[], const uint8 cbCardCount, uint8 cbMaxCardData[], uint8 & bMaxCardCount, uint8 bNeedCCount = 5);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͼƬ·<C6AC><C2B7>;
|
|||
|
|
static std::string getCardTypeImagePath(uint8 cbCardType);
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>;
|
|||
|
|
static std::string getCardTypeSoundPath(uint8 cbGender, uint8 cbCardType);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|