我爱代码 - 专业游戏安全与逆向论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 6287|回复: 0

四副升级(机器人)【源码】

[复制链接]

2381

主题

53

回帖

9145

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9145
QQ
发表于 2017-6-13 12:01:15 | 显示全部楼层 |阅读模式

想要查看内容赶紧注册登陆吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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[12*PACK_COUNT];    //得分扑克

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

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

    //请求离开用户
    RequestLeaveUserAry                m_RequestUserAry;                    

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

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

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

    //基础接口
public:
    //释放对象
    virtual VOID  Release() {delete this; }
    //接口查询
    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 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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|我爱代码 - 专业游戏安全与逆向论坛 ( 陇ICP备17000105号-1 )

GMT+8, 2025-3-10 03:11 , Processed in 0.051590 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表