init
This commit is contained in:
64
Servers/游戏组件/房卡牛牛/游戏服务器/GameLogic.h
Normal file
64
Servers/游戏组件/房卡牛牛/游戏服务器/GameLogic.h
Normal file
@@ -0,0 +1,64 @@
|
||||
#ifndef GameLogic_h__
|
||||
#define GameLogic_h__
|
||||
#pragma once
|
||||
#include "Stdafx.h"
|
||||
|
||||
//开牌结果
|
||||
struct tagOpenCardRlt
|
||||
{
|
||||
BYTE cbMaxCard; //最大牌
|
||||
BYTE cbCardType; //牌类型
|
||||
BYTE cbSortCard[MAX_COUNT]; //排序的牌
|
||||
};
|
||||
|
||||
//游戏逻辑类
|
||||
class CGameLogic
|
||||
{
|
||||
private:
|
||||
BYTE m_cbRepertoryCard[FULL_COUNT];
|
||||
static BYTE m_cbCardList[FULL_COUNT];
|
||||
|
||||
public:
|
||||
//构造函数
|
||||
CGameLogic() { }
|
||||
//析构函数
|
||||
virtual ~CGameLogic() { }
|
||||
|
||||
public:
|
||||
//有效判断
|
||||
static bool IsValidCard(const BYTE cbCard);
|
||||
//获取数值
|
||||
static BYTE GetCardValue(const BYTE cbCard) { return cbCard&MASK_VALUE; }
|
||||
//获取花色
|
||||
static BYTE GetCardColor(const BYTE cbCard) { return (cbCard&MASK_COLOR)>>4; }
|
||||
|
||||
public:
|
||||
//逻辑数值
|
||||
BYTE GetLogicValue(BYTE cbCard);
|
||||
//排列扑克
|
||||
void SortCardList(BYTE cbCardData[], BYTE cbCardCount);
|
||||
//混乱扑克
|
||||
void RandCardList(BYTE cbCardData[], BYTE cbCardCount, bool bNoHuaCard);
|
||||
//删除扑克
|
||||
bool RemoveCard(BYTE cbCardData[], BYTE cbCardCount, BYTE cbRemoveCard[], BYTE cbRemoveCount);
|
||||
|
||||
public:
|
||||
//获取赢的番数
|
||||
BYTE GetWinNiuFan(const BYTE cbCardType);
|
||||
//获取最大牌
|
||||
BYTE GetMaxCard(const BYTE cbCardData[], const BYTE cbCardCount);
|
||||
//获取类型
|
||||
BYTE GetCardType(const BYTE cbCardData[], const BYTE cbCardCount, BYTE cbSortCard[], bool IsHasWHN, bool IsHasBomb, bool IsHasWXN);
|
||||
//对比扑克
|
||||
bool CompareCard(const tagOpenCardRlt stFirstData, const tagOpenCardRlt stNextData);
|
||||
|
||||
private:
|
||||
//是否是五花牛
|
||||
bool IsWuHuaNiu(const BYTE cbCardData[], const BYTE cbCardCount);
|
||||
//是否是五小牛
|
||||
bool IsWuXiaoNiu(const BYTE cbCardData[], const BYTE cbCardCount);
|
||||
//是否是炸弹;
|
||||
bool IsZhaDan(const BYTE cbCardData[], const BYTE cbCardCount);
|
||||
};
|
||||
|
||||
#endif // GameLogic_h__
|
||||
Reference in New Issue
Block a user