SHOW:
|
|
- or go back to the newest paste.
1 | # Board.pro | |
2 | ||
3 | - | #include <QMetaObject> |
3 | + | QT += core gui |
4 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets | |
5 | TARGET = Board | |
6 | TEMPLATE = app | |
7 | SOURCES += main.cpp\ | |
8 | Board.cpp | |
9 | HEADERS += Board.h | |
10 | ||
11 | - | layout->addWidget(pts,3,0,1,2); |
11 | + | |
12 | ||
13 | #ifndef BOARD_H | |
14 | #define BOARD_H | |
15 | ||
16 | #include <QWidget> | |
17 | #include <QLabel> | |
18 | #include <QSpinBox> | |
19 | #include <QPushButton> | |
20 | #include <QGridLayout> | |
21 | ||
22 | class Board : public QWidget | |
23 | { | |
24 | Q_OBJECT | |
25 | ||
26 | public: | |
27 | Board(QWidget *parent = 0); | |
28 | ||
29 | public slots: | |
30 | void reset(); | |
31 | void verify(); | |
32 | void replay(); | |
33 | signals: | |
34 | void gameLost(); | |
35 | void gameWon(); | |
36 | private: | |
37 | void setupUi(); | |
38 | ||
39 | int pts; | |
40 | QLabel *top; | |
41 | QLabel *higherornot; | |
42 | QSpinBox *usernumber; | |
43 | QPushButton *okbutton; | |
44 | QPushButton *quitbutton; | |
45 | QGridLayout *layout; | |
46 | int secret; | |
47 | QLabel *points; | |
48 | QLabel *hhigher; | |
49 | }; | |
50 | ||
51 | #endif // BOARD_H | |
52 | ||
53 | //Board.cpp | |
54 | - | usernumber->setValue(usernumber->value()); |
54 | + | |
55 | #include "Board.h" | |
56 | ||
57 | #include <QApplication> | |
58 | #include <QMessageBox> | |
59 | #include <QTime> | |
60 | ||
61 | Board::Board(QWidget *parent) : QWidget(parent) | |
62 | { | |
63 | reset(); | |
64 | - | this->update(); |
64 | + | |
65 | setupUi(); | |
66 | ||
67 | QObject::connect(okbutton,SIGNAL(clicked()),this,SLOT(verify())); | |
68 | QObject::connect(quitbutton,SIGNAL(clicked()),qApp,SLOT(quit())); | |
69 | QObject::connect(this,SIGNAL(gameLost()),this,SLOT(replay())); | |
70 | // New connection | |
71 | QObject::connect(this,SIGNAL(gameWon()),this,SLOT(reset())); | |
72 | } | |
73 | ||
74 | void Board::verify() | |
75 | { | |
76 | pts--; | |
77 | ||
78 | int nbCoups = pts; | |
79 | int nombreMystere = secret; | |
80 | ||
81 | if(usernumber->value() > nombreMystere && nbCoups >= 0) | |
82 | { | |
83 | QString str("Lower than "+(QString::number(usernumber->value()))+" !"); | |
84 | QString c(QString::number(pts)+" pts left !"); | |
85 | points->setText(c); | |
86 | higherornot->setText(str); | |
87 | } | |
88 | else if(usernumber->value() < nombreMystere && nbCoups >= 0) | |
89 | { | |
90 | - | #include <QtGui> |
90 | + | |
91 | - | #include <QMetaObject> |
91 | + | |
92 | points->setText(c); | |
93 | higherornot->setText(phrase); | |
94 | } | |
95 | else if(nbCoups >= 0 && usernumber->value() == nombreMystere) | |
96 | { | |
97 | points->setText("Winning with "+QString::number(10-pts)+" pts"); | |
98 | - | FenetrePrincipale(QWidget *parent = 0); |
98 | + | |
99 | emit gameWon(); | |
100 | } | |
101 | else | |
102 | { | |
103 | points->setText("No points left !"); | |
104 | higherornot->setText("Lose !"); | |
105 | emit gameLost(); | |
106 | } | |
107 | - | int points; |
107 | + | |
108 | ||
109 | void Board::replay() | |
110 | { | |
111 | this->close(); | |
112 | int ret = QMessageBox::information(0,"Replay", "Want to replay ?",QMessageBox::Yes | QMessageBox::No); | |
113 | if(ret == QMessageBox::Yes) | |
114 | { | |
115 | - | QLabel *pts; |
115 | + | |
116 | points->setText(""); | |
117 | higherornot->setText(""); | |
118 | this->show(); | |
119 | - | #endif // BOARD_H |
119 | + | |
120 | } | |
121 | ||
122 | void Board::reset() | |
123 | { | |
124 | pts = 10; | |
125 | QTime midnight(0,0,0,0); | |
126 | qsrand(midnight.msecsTo(QTime::currentTime())); | |
127 | secret = (qrand() % 1000); | |
128 | } | |
129 | ||
130 | ||
131 | void Board::setupUi() | |
132 | { | |
133 | hhigher = new QLabel("Found the mystery number"); | |
134 | points = new QLabel; | |
135 | top = new QLabel("Try to found the mystery number."); | |
136 | usernumber = new QSpinBox; | |
137 | usernumber->setRange(0,1000); | |
138 | higherornot = new QLabel; | |
139 | okbutton = new QPushButton("Ok"); | |
140 | quitbutton = new QPushButton("Close"); | |
141 | layout = new QGridLayout; | |
142 | ||
143 | layout->addWidget(hhigher,0,0,1,2); | |
144 | layout->addWidget(top,1,0,1,2); | |
145 | layout->addWidget(higherornot,2,0,1,2); | |
146 | layout->addWidget(points,3,0,1,2); | |
147 | layout->addWidget(usernumber,4,0,1,2); | |
148 | layout->addWidget(okbutton,5,0); | |
149 | layout->addWidget(quitbutton,5,1); | |
150 | ||
151 | setLayout(layout); | |
152 | setFixedSize(sizeHint()); | |
153 | setWindowTitle("Found the mystery number"); | |
154 | setWindowIcon(QIcon("cm.ico")); | |
155 | } | |
156 | ||
157 | // main.cpp | |
158 | ||
159 | #include "Board.h" | |
160 | ||
161 | #include <QApplication> | |
162 | ||
163 | int main(int argc, char *argv[]) | |
164 | { | |
165 | QApplication a(argc, argv); | |
166 | ||
167 | Board w; | |
168 | w.show(); | |
169 | ||
170 | return a.exec(); | |
171 | } |