Files

65 lines
1.6 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#ifndef GameLogic_h__
#define GameLogic_h__
#pragma once
#include "Stdafx.h"
//<2F><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>
struct tagOpenCardRlt
{
BYTE cbMaxCard; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BYTE cbCardType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BYTE cbSortCard[MAX_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
//<2F><>Ϸ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
class CGameLogic
{
private:
BYTE m_cbRepertoryCard[FULL_COUNT];
static BYTE m_cbCardList[FULL_COUNT];
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CGameLogic() { }
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CGameLogic() { }
public:
//<2F><>Ч<EFBFBD>ж<EFBFBD>
static bool IsValidCard(const BYTE cbCard);
//<2F><>ȡ<EFBFBD><C8A1>ֵ
static BYTE GetCardValue(const BYTE cbCard) { return cbCard&MASK_VALUE; }
//<2F><>ȡ<EFBFBD><C8A1>ɫ
static BYTE GetCardColor(const BYTE cbCard) { return (cbCard&MASK_COLOR)>>4; }
public:
//<2F>߼<EFBFBD><DFBC><EFBFBD>ֵ
BYTE GetLogicValue(BYTE cbCard);
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
void SortCardList(BYTE cbCardData[], BYTE cbCardCount);
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
void RandCardList(BYTE cbCardData[], BYTE cbCardCount, bool bNoHuaCard);
//ɾ<><C9BE><EFBFBD>˿<EFBFBD>
bool RemoveCard(BYTE cbCardData[], BYTE cbCardCount, BYTE cbRemoveCard[], BYTE cbRemoveCount);
public:
//<2F><>ȡӮ<C8A1>ķ<EFBFBD><C4B7><EFBFBD>
BYTE GetWinNiuFan(const BYTE cbCardType);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BYTE GetMaxCard(const BYTE cbCardData[], const BYTE cbCardCount);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
BYTE GetCardType(const BYTE cbCardData[], const BYTE cbCardCount, BYTE cbSortCard[], bool IsHasWHN, bool IsHasBomb, bool IsHasWXN);
//<2F>Ա<EFBFBD><D4B1>˿<EFBFBD>
bool CompareCard(const tagOpenCardRlt stFirstData, const tagOpenCardRlt stNextData);
private:
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>廨ţ
bool IsWuHuaNiu(const BYTE cbCardData[], const BYTE cbCardCount);
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Сţ
bool IsWuXiaoNiu(const BYTE cbCardData[], const BYTE cbCardCount);
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ը<EFBFBD><D5A8>;
bool IsZhaDan(const BYTE cbCardData[], const BYTE cbCardCount);
};
#endif // GameLogic_h__