⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canvas.h

📁 这是一个在linux下面运行的五子棋游戏
💻 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 );
    void 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 + -