?? canvas.h
字號(hào):
#ifndef CANVAS_H
#define CANVAS_H
#include <QWidget>
#include <QPen>
#include <QPixmap>
#include <QBrush>
class Canvas : public QWidget
{
Q_OBJECT
public:
Canvas(QWidget *parent = 0 );
virtual ~Canvas();
void loadLevel ();/**游戲開始*/
const void initializeGame () ;/**初始化游戲數(shù)據(jù)*/
const void setDegree ( int d ) ;
public:
static int intDegree ;//難度
static int intDx; //難度系數(shù)
public slots:
void setPen(const QPen &pen);
void setBrush(const QBrush &brush);
protected:
void paintEvent(QPaintEvent *event);//畫圖事件
// void mouseMoveEvent(QMouseEvent *event);//鼠標(biāo)事件
void mouseDoubleClickEvent ( QMouseEvent * event );//鼠標(biāo)雙擊
void mousePressEvent ( QMouseEvent * event ); //鼠標(biāo)單擊
private:
QPen pen;
QBrush brush;
QPixmap pixmap;
const void initializeBoard ();/**初始化棋盤,將所有棋盤格清空*/
const int makeBall ();//隨機(jī)返回1種顏色的代碼(1~7)
const int makeCoor ();//隨機(jī)返回一個(gè)整數(shù),這個(gè)整數(shù)=?jīng)]有球的棋盤格的x坐標(biāo)×9+y坐標(biāo)
const void setDose ( int c , int x , int y );//設(shè)置一個(gè)棋盤格內(nèi)小球的顏色
void setCurBrush( int colour );//設(shè)定筆刷
const int getBallColour ( int x , int y );//返回指定的棋盤格內(nèi)小球顏色
const void setReward ( int i , int j );
const int caReward ( int x , int y );
const void down ( int x , int y );
const void up ( int x , int y );
const void right ( int x , int y );
const void left ( int x , int y );
const void down_left ( int x , int y );
const void up_right ( int x , int y );
const void down_right ( int x , int y );
const void up_left ( int x , int y ) ;
void setInitTest();
bool TestMain(int Ox,int Oy,int Tx,int Ty);
void Test( );
void Back( );
int ActOK( );
const int getEmpty ();
private:
int intAfPos_x , intAfPos_y , intAfPos_c ;//按下選擇鍵后光標(biāo)位置的x坐標(biāo)、y坐標(biāo)、小球顏色
int intPrPos_x , intPrPos_y , intPrPos_c ;//當(dāng)前光標(biāo)位置的x坐標(biāo)、y坐標(biāo)、小球顏色
int intSuc ;//連續(xù)消球的次數(shù)
int intChoice ;//選中小球的顏色
bool isOver ;//游戲是否結(jié)束
bool isChoice ;//是否已經(jīng)選中小球isChoice
int intReward ; //獲得的獎(jiǎng)分總數(shù)
int intReDis ; //剩余的獎(jiǎng)勵(lì)消球次數(shù)
int intAlDis ; //使用的獎(jiǎng)勵(lì)消球次數(shù)
int intEmpty ; //棋盤上沒有小球的空地個(gè)數(shù)
int intNum ; //小球相連的個(gè)數(shù)
int intSugges [ 3 ] ;//顯示在屏幕最左上端的3個(gè)提示球的顏色
int intBallColour [ 9 ][ 9 ] ; //代表9×9的棋盤
/* Test Data */
bool TestPassOver;
int MaxAct; //移動(dòng)方向總數(shù)
char Table[9][9]; //是否已到過
int Level; //第幾步
int LevelComplete; //這一步的搜索是否完成
int AllComplete; //全部搜索是否完成
char Act[1000]; //每一步的移動(dòng)方向,搜索1000步
int x,y; //現(xiàn)在的x和y坐標(biāo)
int TargetX,TargetY; //目標(biāo)x和y坐標(biāo)
QString Str_Pos;
int GameTimer;
};
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -