|
- #pragma once
-
- #include "Stdafx.h"
- #include "ControlWnd.h"
- #include "CardControl.h"
- #include "ScoreControl.h"
- #include "DrawSiceWnd.h"
-
- //////////////////////////////////////////////////////////////////////////
- //消息定义
-
- #define IDM_START (WM_USER+100) //开始消息
- #define IDM_OUT_CARD (WM_USER+101) //出牌消息
- #define IDM_TRUSTEE_CONTROL (WM_USER+102) //托管控制
- #define IDI_DISC_EFFECT 102 //丢弃效果
-
- //////////////////////////////////////////////////////////////////////////
-
- //游戏视图
- class CGameClientView : public CGameFrameViewGDI
- {
- //标志变量
- protected:
- bool m_bOutCard; //出牌标志
- bool m_bWaitOther; //等待标志
- bool m_bTrustee[GAME_PLAYER]; //是否托管
- LONGLONG m_lGangScore[GAME_PLAYER]; //
-
- //游戏属性
- protected:
- LONGLONG m_lCellScore; //基础积分
- WORD m_wBankerUser; //庄家用户
- WORD m_wCurrentUser; //当前用户
- BYTE m_cbWinOrder[GAME_PLAYER]; //
-
- //动作动画
- protected:
- bool m_bBombEffect; //动作效果
- BYTE m_cbBombFrameIndex; //帧数索引
-
- //丢弃效果
- WORD m_wDiscUser; //丢弃用户
- BYTE m_cbDiscFrameIndex; //帧数索引
-
- //杠牌动画
- int m_nYGangStep; //
- BYTE m_cbXiaYu; //
- WORD m_wGangChairId; //
- BYTE m_cbGangIndex; //
-
- //用户状态
- protected:
- BYTE m_cbCardData; //出牌扑克
- WORD m_wOutCardUser; //出牌用户
- BYTE m_cbUserAction[4]; //用户动作
-
- //位置变量
- protected:
- CPoint m_UserFlagPos[4]; //标志位置
- CPoint m_PointTrustee[GAME_PLAYER]; //托管位置
- CPoint m_ptWinOrder[GAME_PLAYER]; //
- CPoint m_ptGangScore[GAME_PLAYER]; //
-
- //位图变量
- protected:
- CBitImage m_ImageBack; //背景图案
- CBitImage m_ImageCenter; //LOGO图
- CBitImage m_ImageWait; //等待提示
- CBitImage m_ImageOutCard; //出牌提示
- CBitImage m_ImageUserFlag; //用户标志
- CBitImage m_ImageUserAction; //用户动作
- CBitImage m_ImageActionBack; //动作背景
- CPngImage m_ImageTrustee; //托管标志
- CPngImage m_ImageActionAni; //吃牌动画资源
- CPngImage m_ImageDisc; //丢弃效果
- CPngImage m_ImageArrow; //定时器箭头
- CBitImage m_ImageWinOrder; //
- CPngImage m_ImageCellScore; //
- CPngImage m_PngNumWin; //
- CPngImage m_PngNumLost; //
- CPngImage m_PngXiaYu; //
- CPngImage m_PngGuaFeng; //
-
- //扑克控件
- public:
- CHeapCard m_HeapCard[4]; //堆立扑克
- CUserCard m_UserCard[3]; //用户扑克
- CTableCard m_TableCard[4]; //桌面扑克
- CWeaveCard m_WeaveCard[4][4]; //组合扑克
- CDiscardCard m_DiscardCard[4]; //丢弃扑克
- CCardControl m_HandCardControl; //手上扑克
-
- //控件变量
- public:
- CSkinButton m_btStart; //开始按钮
- CSkinButton m_btStusteeControl; //拖管控制
- CControlWnd m_ControlWnd; //控制窗口
- CScoreControl m_ScoreControl[GAME_PLAYER]; //积分控件
- CDrawSiceWnd m_DrawSiceWnd; //色子控件
-
- //函数定义
- public:
- //构造函数
- CGameClientView();
- //析构函数
- virtual ~CGameClientView();
-
- //继承函数
- private:
- //重置界面
- virtual void ResetGameView();
- //调整控件
- virtual void RectifyControl(int nWidth, int nHeight);
- //绘画界面
- virtual void DrawGameView(CDC * pDC, int nWidth, int nHeight);
-
- //功能函数
- public:
- //基础积分
- void SetCellScore(LONGLONG lCellScore);
- //庄家用户
- void SetBankerUser(WORD wBankerUser);
- //状态标志
- void SetStatusFlag(bool bOutCard, bool bWaitOther);
- //出牌信息
- void SetOutCardInfo(WORD wViewChairID, BYTE cbCardData);
- //动作信息
- void SetUserAction(WORD wViewChairID, BYTE bUserAction);
- //设置动作
- bool SetBombEffect(bool bBombEffect);
- //丢弃用户
- void SetDiscUser(WORD wDiscUser);
- //定时玩家
- void SetCurrentUser(WORD wCurrentUser);
- //设置托管
- void SetTrustee(WORD wTrusteeUser,bool bTrustee);
- //
- void SetWinOrder( WORD wChairId, BYTE cbWinOrder );
- //
- void SetGangScore( WORD wChairId, BYTE cbXiaYu, LONGLONG lGangScore[GAME_PLAYER] );
-
- //辅助函数
- protected:
- //艺术字体
- void DrawTextString(CDC * pDC, LPCTSTR pszString, COLORREF crText, COLORREF crFrame, int nXPos, int nYPos, bool bDrawCenter);
- //绘画数字
- void DrawNumberString( CDC *pDC, CPngImage &PngNumber, int nXPos, int nYPos, LONGLONG lNumber, bool bDrawCenter, bool bDrawSign);
-
- //消息映射
- protected:
- //开始按钮
- afx_msg void OnStart();
- //拖管控制
- afx_msg void OnStusteeControl();
- //建立函数
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- //鼠标消息
- afx_msg void OnLButtonDown(UINT nFlags, CPoint Point);
- //光标消息
- afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT uMessage);
-
- DECLARE_MESSAGE_MAP()
-
- public:
- afx_msg void OnTimer(UINT nIDEvent);
- };
-
- //////////////////////////////////////////////////////////////////////////
|