?? canvas.h
字號:
#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 () ;/**初始化游戲數據*/
const void setDegree ( int d ) ;
public:
static int intDegree ;//難度
static int intDx; //難度系數
public slots:
void setPen(const QPen &pen);
void setBrush(const QBrush &brush);
protected:
void paintEvent(QPaintEvent *event);//畫圖事件
// void mouseMoveEvent(QMouseEvent *event);//鼠標事件
void mouseDoubleClickEvent ( QMouseEvent * event );//鼠標雙擊
void mousePressEvent ( QMouseEvent * event ); //鼠標單擊
private:
QPen pen;
QBrush brush;
QPixmap pixmap;
const void initializeBoard ();/**初始化棋盤,將所有棋盤格清空*/
const int makeBall ();//隨機返回1種顏色的代碼(1~7)
const int makeCoor ();//隨機返回一個整數,這個整數=沒有球的棋盤格的x坐標×9+y坐標
const void setDose ( int c , int x , int y );//設置一個棋盤格內小球的顏色
void setCurBrush( int colour );//設定筆刷
const int getBallColour ( int x , int y );//返回指定的棋盤格內小球顏色
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 ;//按下選擇鍵后光標位置的x坐標、y坐標、小球顏色
int intPrPos_x , intPrPos_y , intPrPos_c ;//當前光標位置的x坐標、y坐標、小球顏色
int intSuc ;//連續消球的次數
int intChoice ;//選中小球的顏色
bool isOver ;//游戲是否結束
bool isChoice ;//是否已經選中小球isChoice
int intReward ; //獲得的獎分總數
int intReDis ; //剩余的獎勵消球次數
int intAlDis ; //使用的獎勵消球次數
int intEmpty ; //棋盤上沒有小球的空地個數
int intNum ; //小球相連的個數
int intSugges [ 3 ] ;//顯示在屏幕最左上端的3個提示球的顏色
int intBallColour [ 9 ][ 9 ] ; //代表9×9的棋盤
/* Test Data */
bool TestPassOver;
int MaxAct; //移動方向總數
char Table[9][9]; //是否已到過
int Level; //第幾步
int LevelComplete; //這一步的搜索是否完成
int AllComplete; //全部搜索是否完成
char Act[1000]; //每一步的移動方向,搜索1000步
int x,y; //現在的x和y坐標
int TargetX,TargetY; //目標x和y坐標
QString Str_Pos;
int GameTimer;
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -