Files
wnmj/Servers/游戏组件/十三水/机器人服务/AndroidUserItemSink.h
2026-02-13 14:34:15 +08:00

95 lines
3.1 KiB
C++

#ifndef ANDROID_USER_ITEM_SINK_HEAD_FILE
#define ANDROID_USER_ITEM_SINK_HEAD_FILE
#pragma once
#include "Stdafx.h"
#include "TableFrameSink.h"
//////////////////////////////////////////////////////////////////////////
//机器人类
class CAndroidUserItemSink : public IAndroidUserItemSink
{
//扑克变量
protected:
BYTE m_bHandCardData[HAND_CARD_COUNT]; //机器人手中的牌
BYTE m_bHandCardCount; //牌的数量
BYTE m_bSegmentCard[3][5]; //分段扑克
BYTE m_bSpecialCardData[HAND_CARD_COUNT];//特殊牌的数据
int m_nRobotPlayCount; //机器人玩的局数
int m_nRobotPlayMaxCount; //机器人最多玩的局数
bool m_bPlayer[GAME_PLAYER]; //是否有人
BYTE m_bAllUserCardData[GAME_PLAYER][HAND_CARD_COUNT];
bool m_bWait; //是否有人
TCHAR m_szRoomName[32]; //配置房间
int m_nAndroidNum;
//控件变量
protected:
CGameLogic m_GameLogic; //游戏逻辑
IAndroidUserItem * m_pIAndroidUserItem; //用户接口
//函数定义
public:
//构造函数
CAndroidUserItemSink();
//析构函数
virtual ~CAndroidUserItemSink();
private:
//银行操作
void BankOperate(BYTE cbType);
//基础接口
public:
//释放对象
virtual VOID Release() { }
//是否有效
virtual bool IsValid() { return AfxIsValidAddress(this,sizeof(CAndroidUserItemSink))?true:false; }
//接口查询
virtual void * QueryInterface(const IID & Guid, DWORD dwQueryVer);
//控制接口
public:
//初始接口
virtual bool Initialization(IUnknownEx * pIUnknownEx);
//重置接口
virtual bool RepositionSink();
//游戏事件
public:
//时间消息
virtual bool OnEventTimer(UINT nTimerID);
//游戏消息
virtual bool OnEventGameMessage(WORD wSubCmdID, void * pData, WORD wDataSize);
//游戏消息
virtual bool OnEventFrameMessage(WORD wSubCmdID, void * pData, WORD wDataSize);
//场景消息
virtual bool OnEventSceneMessage(BYTE cbGameStatus, bool bLookonOther, void * pData, WORD wDataSize);
//用户事件
public:
//用户进入
virtual void OnEventUserEnter(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//用户离开
virtual void OnEventUserLeave(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//用户积分
virtual void OnEventUserScore(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//用户状态
virtual void OnEventUserStatus(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//用户段位
virtual void OnEventUserSegment(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
protected:
//设置分段
//bool OnSubSetSegment(const void * pBuffer , WORD wDataSize);
//玩家摊牌
//bool OnSubShowCard(const void * pBuffer , WORD wDataSize) ;
//游戏开始
bool OnSubSendCard(void * pData, WORD wDataSize);
//游戏结束
bool OnSubGameEnd(void * pData, WORD wDataSize);
void GetSpecialCard(BYTE CardData[],BYTE CardCount);
void ShowCard();
void GetAllUserDaoShu(BYTE btCard[],LONG lUserDaoShu[],WORD wChaiID,bool bSpecial);
};
//////////////////////////////////////////////////////////////////////////
#endif