?? cball.h
字號:
// CBall.h: interface for the CCBall class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CBALL_H__FEDD3954_6FD0_11D6_9B6C_BFA0FD215847__INCLUDED_)
#define AFX_CBALL_H__FEDD3954_6FD0_11D6_9B6C_BFA0FD215847__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SeqStack.h"
#include "uRgbColor.h"
#define MAX_GRIDX 9 //橫向表格數
#define MAX_GRIDY 9 //縱向表格數
#define GRIDWIDTH 35 //表格寬度
#define TOPGRIDWIDTH 30 //頂部表格寬度
#define MAX_COLOR 7 //顏色數
//////////////////////////////////////////////////////////
struct ITEM
{
int x; //x
int y; //y
int dir; //方向
};
struct OFFSET
{
int x; //x方向
int y; //y方向
};
enum directions {UP, LEFT, DOWN, RIGHT};
////////////////////////////////////////////////////////////
class CCBall
{
public:
CCBall();
virtual ~CCBall();
public:
void Init(); //初始化數據
void SwapActiveBall(int nX, int nY); //交換激活狀態(tài)小球
void SetActiveBall(int nX, int nY); //設置球為激活狀態(tài)
BOOL IsExistBall(int nX, int nY); //是否有小球
void MoveBall(int nX, int nY); //移動小球
int GetPreBallColor(int nNum); //
void GrowPreBall(int nNum);
int GetFirstColor();
bool GrowBallForFirst(int &x, int &y, int &color);
bool GrowBall(int &x, int &y, int &color, int index);
int GetActiveBall(); //得到被激活的小球
BOOL IsCanMoveBall(int nX, int nY); //是否能移到
bool CheckCanClear(); //檢查是否能消掉
int GetBallColor(int nX, int nY); //得到球的顏色
int m_nClearX[MAX_GRIDX][MAX_GRIDY];//要清掉的球的數據,
bool IsOver();
private:
int m_nWidth;
int m_nHeight;
int m_nPreColor[5];
int m_nData[MAX_GRIDX][MAX_GRIDY]; //球的數據, 橫縱向
//坐標值為顏色
CDC *m_pDC; //設備描述指針
CBrush m_Brush; //Brush
CPen m_Pen; //Pen
CRect m_rectGrid;
CRect m_rectTop;
CRect m_rectHigher;
CRect m_rectPlayer;
CString m_strHigher;
CString m_strPlayer;
int m_nCurY; //當前的縱列
int m_nCurX; //當前的橫列
int m_nCurColor; //當前的球色
int m_nSorce; //分數
BOOL bMoveFlag;
int GetRandomPos(); //得到隨機位置
int GetRandomColor(); //得到隨機顏色
//迷宮
void SetMaze();
bool GetPath(int x, int y, int xend, int yend, int dir);
void ClearMaze();
private:
OFFSET m_move[4];
int m_mark[MAX_GRIDY+2][MAX_GRIDX+2];
int m_maze[MAX_GRIDY+2][MAX_GRIDX+2];
};
#endif // !defined(AFX_CBALL_H__FEDD3954_6FD0_11D6_9B6C_BFA0FD215847__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -