- 先建立游戏界面,将图片分割分别添加到相应的Label中,之后通过随机函数将Label顺序打乱,同时将游戏信息初始化。编写一个鼠标按压事件,当鼠标点击后,判断鼠标是否点击了空白格子旁边可移动的Label,若是,移动后,检测是否Label顺序正确,基本的逻辑就这样。
#ifndef PLAYWINDOW_H
#define PLAYWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QLabel>
#include <QImage>
namespace Ui {
class PlayWindow;
}
class PlayWindow : public QMainWindow
{
Q_OBJECT
public:
explicit PlayWindow(QWidget *parent = 0);
~PlayWindow();
void mousePressEvent(QMouseEvent *event);
private:
Ui::PlayWindow *ui;
QLabel *picLabel[9];
QLabel *numLabel;
QLabel *referenceLabel;
int picFlag[3][3];
QImage labelImg[3][3];
void createPic();
void movePic();
void RandomPic();
void checkOk();
int stepNum;
QPushButton *exitBt;
private slots:
void exit();
};
#endif // PLAYWINDOW_H
#include "playwindow.h"
#include "ui_playwindow.h"
#include <QImage>
#include <QPixmap>
#include <QTime>
#include <QPoint>
#include <QMouseEvent>
#define PICTURESIZE 100
#define BASEX 2