诸暨麻将添加redis
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

169 рядки
4.9 KiB

  1. #pragma once
  2. #include "Stdafx.h"
  3. #include "ControlWnd.h"
  4. #include "CardControl.h"
  5. #include "ScoreControl.h"
  6. #include "DrawSiceWnd.h"
  7. //////////////////////////////////////////////////////////////////////////
  8. //消息定义
  9. #define IDM_START (WM_USER+100) //开始消息
  10. #define IDM_OUT_CARD (WM_USER+101) //出牌消息
  11. #define IDM_TRUSTEE_CONTROL (WM_USER+102) //托管控制
  12. #define IDI_DISC_EFFECT 102 //丢弃效果
  13. //////////////////////////////////////////////////////////////////////////
  14. //游戏视图
  15. class CGameClientView : public CGameFrameViewGDI
  16. {
  17. //标志变量
  18. protected:
  19. bool m_bOutCard; //出牌标志
  20. bool m_bWaitOther; //等待标志
  21. bool m_bTrustee[GAME_PLAYER]; //是否托管
  22. LONGLONG m_lGangScore[GAME_PLAYER]; //
  23. //游戏属性
  24. protected:
  25. LONGLONG m_lCellScore; //基础积分
  26. WORD m_wBankerUser; //庄家用户
  27. WORD m_wCurrentUser; //当前用户
  28. BYTE m_cbWinOrder[GAME_PLAYER]; //
  29. //动作动画
  30. protected:
  31. bool m_bBombEffect; //动作效果
  32. BYTE m_cbBombFrameIndex; //帧数索引
  33. //丢弃效果
  34. WORD m_wDiscUser; //丢弃用户
  35. BYTE m_cbDiscFrameIndex; //帧数索引
  36. //杠牌动画
  37. int m_nYGangStep; //
  38. BYTE m_cbXiaYu; //
  39. WORD m_wGangChairId; //
  40. BYTE m_cbGangIndex; //
  41. //用户状态
  42. protected:
  43. BYTE m_cbCardData; //出牌扑克
  44. WORD m_wOutCardUser; //出牌用户
  45. BYTE m_cbUserAction[4]; //用户动作
  46. //位置变量
  47. protected:
  48. CPoint m_UserFlagPos[4]; //标志位置
  49. CPoint m_PointTrustee[GAME_PLAYER]; //托管位置
  50. CPoint m_ptWinOrder[GAME_PLAYER]; //
  51. CPoint m_ptGangScore[GAME_PLAYER]; //
  52. //位图变量
  53. protected:
  54. CBitImage m_ImageBack; //背景图案
  55. CBitImage m_ImageCenter; //LOGO图
  56. CBitImage m_ImageWait; //等待提示
  57. CBitImage m_ImageOutCard; //出牌提示
  58. CBitImage m_ImageUserFlag; //用户标志
  59. CBitImage m_ImageUserAction; //用户动作
  60. CBitImage m_ImageActionBack; //动作背景
  61. CPngImage m_ImageTrustee; //托管标志
  62. CPngImage m_ImageActionAni; //吃牌动画资源
  63. CPngImage m_ImageDisc; //丢弃效果
  64. CPngImage m_ImageArrow; //定时器箭头
  65. CBitImage m_ImageWinOrder; //
  66. CPngImage m_ImageCellScore; //
  67. CPngImage m_PngNumWin; //
  68. CPngImage m_PngNumLost; //
  69. CPngImage m_PngXiaYu; //
  70. CPngImage m_PngGuaFeng; //
  71. //扑克控件
  72. public:
  73. CHeapCard m_HeapCard[4]; //堆立扑克
  74. CUserCard m_UserCard[3]; //用户扑克
  75. CTableCard m_TableCard[4]; //桌面扑克
  76. CWeaveCard m_WeaveCard[4][4]; //组合扑克
  77. CDiscardCard m_DiscardCard[4]; //丢弃扑克
  78. CCardControl m_HandCardControl; //手上扑克
  79. //控件变量
  80. public:
  81. CSkinButton m_btStart; //开始按钮
  82. CSkinButton m_btStusteeControl; //拖管控制
  83. CControlWnd m_ControlWnd; //控制窗口
  84. CScoreControl m_ScoreControl[GAME_PLAYER]; //积分控件
  85. CDrawSiceWnd m_DrawSiceWnd; //色子控件
  86. //函数定义
  87. public:
  88. //构造函数
  89. CGameClientView();
  90. //析构函数
  91. virtual ~CGameClientView();
  92. //继承函数
  93. private:
  94. //重置界面
  95. virtual void ResetGameView();
  96. //调整控件
  97. virtual void RectifyControl(int nWidth, int nHeight);
  98. //绘画界面
  99. virtual void DrawGameView(CDC * pDC, int nWidth, int nHeight);
  100. //功能函数
  101. public:
  102. //基础积分
  103. void SetCellScore(LONGLONG lCellScore);
  104. //庄家用户
  105. void SetBankerUser(WORD wBankerUser);
  106. //状态标志
  107. void SetStatusFlag(bool bOutCard, bool bWaitOther);
  108. //出牌信息
  109. void SetOutCardInfo(WORD wViewChairID, BYTE cbCardData);
  110. //动作信息
  111. void SetUserAction(WORD wViewChairID, BYTE bUserAction);
  112. //设置动作
  113. bool SetBombEffect(bool bBombEffect);
  114. //丢弃用户
  115. void SetDiscUser(WORD wDiscUser);
  116. //定时玩家
  117. void SetCurrentUser(WORD wCurrentUser);
  118. //设置托管
  119. void SetTrustee(WORD wTrusteeUser,bool bTrustee);
  120. //
  121. void SetWinOrder( WORD wChairId, BYTE cbWinOrder );
  122. //
  123. void SetGangScore( WORD wChairId, BYTE cbXiaYu, LONGLONG lGangScore[GAME_PLAYER] );
  124. //辅助函数
  125. protected:
  126. //艺术字体
  127. void DrawTextString(CDC * pDC, LPCTSTR pszString, COLORREF crText, COLORREF crFrame, int nXPos, int nYPos, bool bDrawCenter);
  128. //绘画数字
  129. void DrawNumberString( CDC *pDC, CPngImage &PngNumber, int nXPos, int nYPos, LONGLONG lNumber, bool bDrawCenter, bool bDrawSign);
  130. //消息映射
  131. protected:
  132. //开始按钮
  133. afx_msg void OnStart();
  134. //拖管控制
  135. afx_msg void OnStusteeControl();
  136. //建立函数
  137. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  138. //鼠标消息
  139. afx_msg void OnLButtonDown(UINT nFlags, CPoint Point);
  140. //光标消息
  141. afx_msg BOOL OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT uMessage);
  142. DECLARE_MESSAGE_MAP()
  143. public:
  144. afx_msg void OnTimer(UINT nIDEvent);
  145. };
  146. //////////////////////////////////////////////////////////////////////////