fchesvw.h
上传用户:hy11688
上传日期:2007-01-08
资源大小:81k
文件大小:3k
源码类别:

棋牌游戏

开发平台:

Visual C++

  1. // fchesvw.h : interface of the CFchessView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #define XVALUE    20
  5. #define YVALUE   15
  6. #define XSTART 14
  7. #define YSTART 14
  8. #define XSIZE 28
  9. #define BLACK_CHESS     1
  10. #define WHITE_CHESS     2
  11. #define I_WIN          1
  12. #define I_LOST         2
  13. #define NEED_TO_GO     3
  14. typedef struct strChessPos
  15. {
  16.    BYTE bX,bY;
  17. }  CHESSPOS;
  18. #define SetQuit(CP)       (CP.bX=CP.bY=0XFF)
  19. #define IsAskToQuit(CP)   (CP.bX==0XFF&&CP.bY==0XFF)
  20. #define SetMessage(CP)    (CP.bX=CP.bY=0XEE)
  21. #define IsMessage(CP)   (CP.bX==0XEE&&CP.bY==0XEE)
  22. #define IsValid(CP)       (CP.bX<XVALUE&&CP.bY<YVALUE)
  23. #define MakeNew(CP)       (CP.bX=CP.bY=0XDD)
  24. #define IsNew(CP)         (CP.bX==0XDD&&CP.bY==0XDD)
  25. class CFchessView : public CView
  26. {
  27. protected: // create from serialization only
  28. CFchessView();
  29. DECLARE_DYNCREATE(CFchessView)
  30. void PlayMessage(void);
  31. BOOL m_fSound;
  32. int m_iTotalWin,m_iTotalLost;
  33. // Attributes
  34. public:
  35. CFchessDoc* GetDocument();
  36. // Operations
  37. public:
  38. // Overrides
  39. // ClassWizard generated virtual function overrides
  40. //{{AFX_VIRTUAL(CFchessView)
  41. public:
  42. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  43. protected:
  44. //}}AFX_VIRTUAL
  45. // Implementation
  46. public:
  47. virtual ~CFchessView();
  48. #ifdef _DEBUG
  49. virtual void AssertValid() const;
  50. virtual void Dump(CDumpContext& dc) const;
  51. #endif
  52. protected:
  53. BYTE m_bChessArray[XVALUE][YVALUE];
  54. BOOL m_fFirstDeside,m_fCanDeside;
  55. BOOL m_fEst,m_fLastMessage;
  56. CTCPSocket m_tsComm;
  57. CHESSPOS m_CP;
  58. CHESSPOS m_CPLast;
  59. protected:
  60.     void DrawCurrent(CDC* pDC);
  61.     void DrawBoard(CDC* pDC);
  62.     void DrawChess(CDC* pDC);
  63. void ReadMessage(void);
  64. void AskNew(void);
  65. void EstNew(void);
  66. void SetMess(const char* pszMess);
  67. BOOL JudgeWin(void);
  68. BOOL JudgeLost(void);
  69. BOOL IsWin(int iChessValue);
  70. BOOL IsMatch(const int iX,const int iY);
  71. BOOL IsMatch2(const int iX,const int iY);
  72. // Generated message map functions
  73. protected:
  74. LONG OnWSARead(UINT uP,LONG lP);
  75. //{{AFX_MSG(CFchessView)
  76. afx_msg void OnGameNew();
  77. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  78. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  79. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  80. afx_msg void OnDestroy();
  81. afx_msg void OnFunctionSendMessage();
  82. afx_msg void OnUpdateFunctionSendMessage(CCmdUI* pCmdUI);
  83. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  84. afx_msg void OnAbortGame();
  85. afx_msg void OnUpdateAbortGame(CCmdUI* pCmdUI);
  86. afx_msg void OnBeep();
  87. afx_msg void OnUpdateBeep(CCmdUI* pCmdUI);
  88. //}}AFX_MSG
  89. DECLARE_MESSAGE_MAP()
  90. };
  91. #ifndef _DEBUG  // debug version in fchesvw.cpp
  92. inline CFchessDoc* CFchessView::GetDocument()
  93.    { return (CFchessDoc*)m_pDocument; }
  94. #endif
  95. /////////////////////////////////////////////////////////////////////////////