woaidaima2016 发表于 2017-6-13 12:00:31

四副升级【源码】

http://img.woaidaima.com//upload/image/20170509/1494311187340027956.jpghttp://img.woaidaima.com//upload/image/20170509/1494311189060068414.jpg#ifndef ANDROID_USER_ITEM_SINK_HEAD_FILE
#define ANDROID_USER_ITEM_SINK_HEAD_FILE

#pragma once

#include "Stdafx.h"
#include "GameLogic.h"

//////////////////////////////////////////////////////////////////////////

//请求离开用户
typedef CWHArray    RequestLeaveUserAry;

//机器人类
class CAndroidUserItemSink : public IAndroidUserItemSink
{
    //逻辑变量
protected:
    BYTE                            m_cbPackCount;                        //牌副数目
    BYTE                            m_cbMainColor;                        //主牌花色
    BYTE                            m_cbMainValue;                        //主牌数值

    //叫牌信息
protected:
    BYTE                            m_cbCallCard;                        //叫牌扑克
    BYTE                            m_cbCallCount;                        //叫牌数目
    WORD                            m_wCallCardUser;                  //叫牌用户

    //状态变量
protected:
    WORD                            m_wBankerUser;                        //庄家用户
    WORD                            m_wCurrentUser;                        //当前用户

    //得分信息
protected:
    BYTE                            m_cbScoreCardCount;                  //分牌数目
    BYTE                            m_cbScoreCardData;    //得分扑克

    //出牌变量
protected:
    WORD                            m_wFirstOutUser;                  //出牌用户
    BYTE                            m_cbOutCardCount;                //出牌数目
    BYTE                            m_cbOutCardData;      //出牌列表

    //底牌扑克
protected:
    BYTE                            m_cbConcealCount;                  //暗藏数目
    BYTE                            m_cbConcealCard;                  //暗藏扑克

    //请求离开用户
    RequestLeaveUserAry                m_RequestUserAry;                  

    //用户扑克
protected:
    BYTE                            m_cbHandCardCount;                  //扑克数目
    BYTE                            m_cbHandCardData;      //手上扑克   

    //控件变量
protected:
    CGameLogic                        m_GameLogic;                        //游戏逻辑
    IAndroidUserItem *                m_pIAndroidUserItem;                //用户接口

    //函数定义
public:
    //构造函数
    CAndroidUserItemSink();
    //析构函数
    virtual ~CAndroidUserItemSink();

    //基础接口
public:
    //释放对象
    virtual VOIDRelease() {delete this; }
    //接口查询
    virtual void *QueryInterface(const IID & Guid, DWORD dwQueryVer);

    //控制接口
public:
    //初始接口
    virtual boolInitialization(IUnknownEx * pIUnknownEx);
    //重置接口
    virtual boolRepositionSink();

    //游戏事件
public:
    //时间消息
    virtual boolOnEventTimer(UINT nTimerID);
    //游戏消息
    virtual boolOnEventGameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize);
    //游戏消息
    virtual boolOnEventFrameMessage(WORD wSubCmdID, VOID * pData, WORD wDataSize);
    //场景消息
    virtual boolOnEventSceneMessage(BYTE cbGameStatus, bool bLookonOther, VOID * pData, WORD wDataSize);

    //用户事件
public:
    //用户进入
    virtual voidOnEventUserEnter(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
    //用户离开
    virtual voidOnEventUserLeave(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
    //用户积分
    virtual voidOnEventUserScore(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
    //用户状态
    virtual voidOnEventUserStatus(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
    //用户段位
    virtual voidOnEventUserSegment(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);

    //消息处理
protected:
    //游戏开始
    bool OnSubGameStart(const void * pBuffer, WORD wDataSize);
    //发送扑克
    bool OnSubSendCard(const void * pBuffer, WORD wDataSize);
    //用户叫牌
    bool OnSubCallCard(const void * pBuffer, WORD wDataSize);
    //发送底牌
    bool OnSubSendConceal(const void * pBuffer, WORD wDataSize);
    //游戏开始
    bool OnSubGamePlay(const void * pBuffer, WORD wDataSize);
    //用户出牌
    bool OnSubOutCard(const void * pBuffer, WORD wDataSize);
    //甩牌结果
    bool OnSubThrowResult(const void * pBuffer, WORD wDataSize);
    //一轮结算
    bool OnSubTurnBalance(const void * pBuffer, WORD wDataSize);
    //游戏结束
    bool OnSubGameEnd(const void * pBuffer, WORD wDataSize);
    //请求离开
    bool OnSubRequestLeave(const void * pBuffer, WORD wDataSize);
    //批量出牌
    bool OnSubBatchCard(const void * pBuffer, WORD wDataSize);

    //辅助函数
protected:
    //叫牌
    bool CallCard();
    //下底牌
    bool SendConceal();
    //出牌
    bool OutCard();
};

//////////////////////////////////////////////////////////////////////////

#endif

页: [1]
查看完整版本: 四副升级【源码】