?? game.h
字號:
// Game.h: interface for the CGame class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GAME_H__56B3156E_EA05_11D4_9FE2_00D0590D4CE7__INCLUDED_)
#define AFX_GAME_H__56B3156E_EA05_11D4_9FE2_00D0590D4CE7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CGame
{
public:
CDC* m_pMemDC; //內存DC
CDC* m_pInitialMemDC; //
CBitmap* m_pBitmap; //存放上一次移動時的外觀
CBitmap* m_pInitialBitmap; //存放游戲未開始時的外觀
int Left;
int Top;
int m_Score;
int m_RowCount,m_ColCount;
//顏色設置
COLORREF m_clrCube;//運動方塊顏色
COLORREF m_clrDeclareCube;//聲明區域的方塊顏色
COLORREF m_clrMaxRect;//最大區域顏色
COLORREF m_clrDeclareRect;//聲明區域顏色
COLORREF m_clrDiamondsRect;//運行區域顏色
COLORREF m_clrLine;//方格線顏色
COLORREF m_clrDeclareFont; //聲明區域的字體顏色
COLORREF m_clrGameOverFont; //游戲結束字體的顏色
BOOL m_bRandomCubeColor; //運動方塊顏色隨即產生
private:
BOOL m_Music; //聲音開關
int m_Level; //級別
int m_Speed; //速度
int DiamondsA[100][100];
int DiamondsB[100][100]; //DiamondsA and DiamondsB存放著移動前和移動后的格子
int Cube[4][4]; // 當前圖形
int CubeX[4][4]; //上一圖形
int CubeR[4][4]; //變換后的圖形
CPoint CubePosition,CubePositionX; //當前圖形和上一圖形的左上角位置
int CountMatrix; //當前可能出現的圖形形狀數,
CRect GameRect; //俄羅斯方塊的區域
CRect DeclareRect; //說明區域,即上面一塊的白色區域
int dx;
int dy; //每一個格的高度和寬度
void Move(int direction);
int m_StepScore;
public:
void PlayMusic(BOOL flag);
int GetLevel();
void ReadGame(CString filename);
void SaveGame(CString filename);
int GetSpeed();
bool EndFlag;
void DrawDeclareNode(int a[][4],bool IsErase);
bool Rotatable(int a[][4],CPoint p,int b[][100]);
void LineDelete();
bool MeetBorder(int a[][4],int direction,CPoint p);
void DrawNode(int a[4][4],bool IsErase,CPoint position);
void DrawNode(int i,int j,bool IsErase);
void SetPosition(int x,int y);
void DrawDeclaration(int score,int speed,int level);
void Draw(CDC *pDC);
void Start();
void GameInit(CDC* pDC);
void DrawDiamonds();
void MoveRotate();
void MoveNext();
void MoveRight();
void MoveLeft();
void SetSpeed(int speed);
void SetLevel(int level);
CGame();
virtual ~CGame();
private:
COLORREF GetRunCubeColor();//得到運動方塊的顏色
void CubeAssign(int a[][4],int b[][4]); //把叔祖a賦給數組b
void GenerateDiamond(); //隨機產生方塊數組,存入CubeMatrix中.
};
#endif // !defined(AFX_GAME_H__56B3156E_EA05_11D4_9FE2_00D0590D4CE7__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -