?? mygame.h
字號:
#if !defined(AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_)
#define AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MyGame.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CMyGame window
enum {EMPTY,EASY,NORMAL,HARD}; //無級別,初級,中級,高級
enum {ALL,HALF0,HALF1} ; //全區(qū),上(左)半?yún)^(qū),下(右)半?yún)^(qū)
enum {M_NO,M_DOWN,M_LEFT,M_UPDOWN,M_LEFTRIGHT,M_UPDOWN1,M_LEFTRIGHT1,
M_LEFTRIGHT2,M_UPDOWN2,M_OUT,M_IN,M_UP,M_RIGHT} ;
//不變化,向下,向左,上下分離,左右分離,上下集中,左右集中,
//上左下右,左下右上,向外擴(kuò)散,向內(nèi)集中,向上,向右
class CMyGame : public CWnd
{
// Construction
public:
CMyGame();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyGame)
//}}AFX_VIRTUAL
// Implementation
public:
BOOL m_GameOver;
//總體變量
int m_Look; //亮牌次數(shù)
int m_Prompt; //提示次數(shù)
int m_Layer; //第幾關(guān)
int m_Score; //得分
int m_Class; //難易級別,EASY,NORMAL,HARD
BOOL m_Pause; //暫停標(biāo)志
BOOL m_SortAll; //初始化分類標(biāo)志:初級隨機(jī)/中途重排
int m_xc, m_yc; //圖形窗口左上角
int m_dx, m_dy; //小圖形尺寸
int m_Ysize, m_Xsize; //小圖形縱橫數(shù)
//窗口參數(shù)
int m_ScreenHeight; //窗口寬
int m_ScreenWidth; //窗口高
//當(dāng)前數(shù)據(jù)
int m_xw[4], m_yw[4]; //當(dāng)前選取的圖形,待檢測是否有連線
//四個時,用于進(jìn)行自動檢測時用
int m_Data[16][9]; //當(dāng)前數(shù)據(jù)
int m_num; //當(dāng)前點(diǎn)擊次數(shù)
int m_Count; //記錄當(dāng)前未除的圖的成對數(shù)
int m_Time; //記錄當(dāng)前剩余時間
//函數(shù)
BOOL CheckLine(BOOL IsPrompt, int k, int k1);
//檢測是否有連線
void InitData(); //初始化數(shù)據(jù)
void SetClass(); //初始化各級別數(shù)據(jù)
BOOL TestAll(); //測試所有圖間有無連線
void ProcessNext(); //處理過關(guān)動作
int CompAward(); //計(jì)算過關(guān)獎金
void ReInitData(); //重新排序
void MoveGraph(); //消去后移動處理
void TranToXY(int *x, int *y, int xw, int yw);
//轉(zhuǎn)換格子坐標(biāo)(xw, yw)為(x,y)角點(diǎn)值
void TranToXYCenter(int *x, int *y, int k);
//轉(zhuǎn)換格子坐標(biāo)(xw, yw)為(x,y)中心值
BOOL GetPoint(int x, int y);
//轉(zhuǎn)換點(diǎn)坐標(biāo)為圖形位置坐標(biāo)
virtual ~CMyGame();
// Generated message map functions
protected:
//{{AFX_MSG(CMyGame)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
void GetRand(int x[], int num); //產(chǎn)生一組num個隨機(jī)數(shù)組
void SetPoint(BOOL IsPrompt, int x, int y);
//記錄線的消除軌跡
BOOL TestGraph(); //測試找出的最多四個點(diǎn)的相互是否有連線
void FindValue(int no); //找出所有最多四個no圖暫放m_xw,m_yw中,m_num計(jì)數(shù)
BOOL CheckLineY(int flag, int x, int y0, int y1); //測試線段(x,y0)-(x,y1)連線
BOOL CheckLineX(int flag, int x0, int x1, int y); //測試線段(x0,y)-(x1,y)連線
void MoveToRight(int xw, int yw, int AreaFlag); //向右移動
void MoveToLeft(int xw, int yw, int AreaFlag); //向左移動
void MoveToDown(int xw, int yw, int AreaFlag); //向下移動
void MoveToUp(int xw, int yw, int AreaFlag); //向上移動
void MoveToRight2(int AreaFlag); //二點(diǎn)向右移動
void MoveToLeft2(int AreaFlag); //二點(diǎn)向左移動
void MoveToDown2(int AreaFlag); //二點(diǎn)向下移動
void MoveToUp2(int AreaFlag); //二點(diǎn)向上移動
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MYGAME_H__539C4BA7_BD0D_4673_9BE5_CCA7428457B2__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -