-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.h
141 lines (116 loc) · 3.38 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "QKeyEvent"
#include "forcework.h"
#include "settings.h"
#include <QTimer>
#include <QPaintEvent>
#include <QSet>
#include <QEvent>
#include <QGraphicsEffect>
#include <QMouseEvent>
#include "ia.h"
#include <QRegularExpression>
#include <QRegularExpressionValidator>
#include "animation.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public slots :
///
/// \brief editLfunc Signigie que la touche qui va etre edite dans le menu est celle de la touche gauche
///
void editLfunc();
///
/// \brief editRfunc Signigie que la touche qui va etre edite dans le menu est celle de la touche droite
///
void editRfunc();
///
/// \brief editJfunc Signigie que la touche qui va etre edite dans le menu est celle de la touche de saut
///
void editJfunc();
///
/// \brief keyPressEvent Enregistre les touches enfoncés
/// \param ev evenement de keyPressEvent
///
void keyPressEvent(QKeyEvent*ev);
///
/// \brief keyReleaseEvent Enregistre les touches relachés
/// \param ev evenement de keyReleaseEvent
///
void keyReleaseEvent(QKeyEvent * ev);
///
/// \brief mousePressEvent Enregistre que un bouton de la souris est enfoncé
/// \param event evenement de mousePressEvent
///
void mousePressEvent(QMouseEvent *event);
public:
///
/// \brief MainWindow constructeur
/// \param parent pointeur du parent de MainWindow
///
MainWindow(QWidget *parent = nullptr);
/// \brief Destructeur MainWindow
~MainWindow();
///
/// \brief loadImage charge les images nécessaire à l'interface
///
void loadImage();
///
/// \brief displayHallOfFame affiche les temple de la renommé
///
void displayHallOfFame();
///
/// \brief viewLabelIntro affiche le label lorsque le turoriel est lancé
///
void viewLabelIntro();
private slots:
void paintEvent(QPaintEvent *event);
///
/// \brief on_pushButton_clicked Bouton pour aller a la page Settings
///
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_4_clicked();
void on_pushButton_6_clicked();
void on_pushButton_3_clicked();
void on_PB_launchGame_clicked();
///
/// \brief Win affiche la victoire du joueur
///
void Win();
///
/// \brief Loose affiche la défaite du joueur
///
void Loose();
///
/// \brief gameLoop methode permettant d'appeller les autres methode afin de derouler le jeu
///
void gameLoop();
void on_pushButton_5_clicked();
void on_pushButton_7_clicked();
void on_pushButton_8_clicked();
void on_PB_startmenu_fromMenuWin_clicked();
void on_PB_startNewGame_fromMenuWin_clicked();
void on_PB_startNewGame_fromMenuWin_2_clicked();
void on_PB_startmenu_fromMenuWin_2_clicked();
void on_PB_startmenu_fromMenuWin_3_clicked();
void on_pushButton_9_clicked();
private:
PlayerScore *p10 = new PlayerScore;
std::vector<Block> blocks;
QGraphicsOpacityEffect *m_opaEffect;
QImage *heart;
Animation * animation;
void launchGame();
QTimer * gameTimer;
ForceWork * currentGame = nullptr;
Ui::MainWindow *ui;
int editKey;
Settings * itsSetting;
};
#endif // MAINWINDOW_H