skyblue_LLKDlg.h
上传用户:hbrsgg1
上传日期:2014-05-08
资源大小:2826k
文件大小:3k
源码类别:

其他智力游戏

开发平台:

C/C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     skyblue_LLKDlg.h
  5. Abstract:
  6. LLK-Game's kernal-solving Dialog
  7. Author:
  8.     Weijian Luo (Arthur Luo)   15-Jun-2005
  9. E-mail: skybluehacker@yahoo.com.cn
  10. Revision History:      1.0
  11. --*/
  12. #if !defined(AFX_SKYBLUE_LLKDLG_H__F043F328_5562_4EEC_921D_508E1DBDC900__INCLUDED_)
  13. #define AFX_SKYBLUE_LLKDLG_H__F043F328_5562_4EEC_921D_508E1DBDC900__INCLUDED_
  14. #if _MSC_VER > 1000
  15. #pragma once
  16. #endif // _MSC_VER > 1000
  17. /////////////////////////////////////////////////////////////////////////////
  18. // C_LLK_Dlg dialog
  19. class C_LLK_Dlg : public CDialog
  20. {
  21. // Construction
  22. public:
  23. //游戏区域绘制
  24. void GameDraw(CDC * pDC);
  25. //开始一个新游戏
  26. void StartNewGame();
  27. //给定的2方块是否可连通消除
  28. BOOL IsLink(int x1,int y1,int x2,int y2);
  29. //是否已经获得胜利
  30. BOOL IsWin(void);
  31. //直接连通
  32. //X相等
  33. BOOL X1_Link_X2(int x,int y1,int y2);
  34. //Y相等
  35. BOOL Y1_Link_Y2(int x1,int x2,int y);
  36. //1直角接口连通
  37. BOOL OneCornerLink(int x1,int y1,int x2,int y2);
  38. //2直角接口连通
  39. BOOL TwoCornerLink(int x1,int y1,int x2,int y2);
  40. BOOL YThrough(int x,int y,BOOL bAdd);
  41. BOOL XThrough(int x,int y,BOOL bAdd);
  42. BOOL LineX(int x,int y1,int y2);
  43. BOOL LineY(int x1,int x2,int y);
  44. C_LLK_Dlg(CWnd* pParent = NULL); // standard constructor
  45. ~C_LLK_Dlg();
  46. // Dialog Data
  47. //{{AFX_DATA(CTemp2Dlg)
  48. enum { IDD = IDD_LLK_DIALOG };
  49. // NOTE: the ClassWizard will add data members here
  50. //}}AFX_DATA
  51. // ClassWizard generated virtual function overrides
  52. //{{AFX_VIRTUAL(CTemp2Dlg)
  53. public:
  54. virtual BOOL PreTranslateMessage(MSG* pMsg);
  55. protected:
  56. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  57. //}}AFX_VIRTUAL
  58. // Implementation
  59. protected:
  60. HICON m_hIcon;
  61. //内存位图属性组
  62. CDC m_mem3DBkDC;      //3D框架的内存设备环境
  63. CBitmap m_mem3DBkBmp;     //3D框架的内存位图
  64. CDC m_memAnimalDC;      //动物图像的内存设备环境
  65. CBitmap m_memAnimalBmp;     //动物图像的内存位图
  66. CDC m_MemDC;      //游戏区域内存设备环境
  67. CBitmap m_memBitmap;  //游戏区域内存位图
  68. //地图位置相关属性组
  69. int* m_map;        //动态地图数据头指针(一维数组)
  70. int m_nRow;   //地图的行数(虚拟)
  71. int m_nCol;   //地图的列数(虚拟)
  72. int m_nX1;        //鼠标选中的记录方块列数
  73. int m_nY1;       //鼠标选中的记录方块行数
  74. // Generated message map functions
  75. //{{AFX_MSG(CTemp2Dlg)
  76. virtual BOOL OnInitDialog();
  77. afx_msg void OnPaint();
  78. afx_msg HCURSOR OnQueryDragIcon();
  79. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  80. //}}AFX_MSG
  81. DECLARE_MESSAGE_MAP()
  82. };
  83. //{{AFX_INSERT_LOCATION}}
  84. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  85. #endif // !defined(AFX_SKYBLUE_LLKDLG_H__F043F328_5562_4EEC_921D_508E1DBDC900__INCLUDED_)