bool CGameLogic::AnalyseCard_New(const BYTE cbCardIndex[MAX_INDEX], BYTE cbCurrentCard, bool bSelfSend, bool bNoneThePair)
{
//别人打出一张万能牌,只能当作普通牌使用,但是自己手里的耗子牌可以当作耗子
BYTE bMagicCount = m_cbMagicIndex == MAX_INDEX ? 0 : cbCardIndex[m_cbMagicIndex];
BYTE cbTempCardIndex[MAX_INDEX] = { 0 };
CopyMemory(cbTempCardIndex, cbCardIndex, sizeof(cbTempCardIndex));
if (bSelfSend == false && (SwitchToCardIndex(cbCurrentCard) == m_cbMagicIndex))
{
bMagicCount--;
}
cbTempCardIndex[m_cbMagicIndex] -= bMagicCount;
//递归算法
BYTE cbCardData[MAX_COUNT] = { 0 };
SwitchToCardData_Digui(cbTempCardIndex, cbCardData, MAX_INDEX);
bool value = AnalyseCard_DiGui(cbCardData, bNoneThePair, bMagicCount);
return value;
}
bool CGameLogic::AnalyseCard_DiGui(BYTE cbCardData[MAX_COUNT], bool bNoneThePair, BYTE cbMagicCount)
{
BYTE cbTmpCardIndex[MAX_INDEX] = { 0 };
SwitchToCardIndex(cbCardData, MAX_COUNT, cbTmpCard
一个麻将算法
最新推荐文章于 2024-04-08 23:38:34 发布
本文深入探讨麻将的算法原理,包括胡牌条件检查、牌型计算、碰杠操作等核心逻辑,揭示麻将游戏背后的数学和策略性。
摘要由CSDN通过智能技术生成