-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfinestragioco.h
93 lines (75 loc) · 2.3 KB
/
finestragioco.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
#ifndef FINESTRAGIOCO_H
#define FINESTRAGIOCO_H
#include <QMainWindow>
#include <QSignalMapper>
#include <QMessageBox>
#include <QWidget>
#include <QGridLayout>
#include <QSound>
#include <QGridLayout>
#include <QPushButton>
#include <QMessageBox>
#include <QSignalMapper>
#include <QTimer>//Al posto dello sleep
#include <string>
#include <QIcon>
#include <QDebug>
#include <QString>
#include <QResource>
#include <QDir>
#include "gestiscicampo.h"
#include "finestraclassifica.h"
//#include "ui_finestraClassifica.h"
#define CARAMELLA_ROSSA ":/immagini/granata_rossa.png"
#define CARAMELLA_VERDE ":/immagini/granata_verde.png"
#define CARAMELLA_BLU ":/immagini/granata_blu.png"
#define ESPLOSIONE ":/immagini/maxresdefault.png"
#define MOSSE_MAX 5
namespace Ui {
class FinestraGioco;
}
class FinestraGioco : public QMainWindow
{
Q_OBJECT
private:
Ui::FinestraGioco *ui;
QGridLayout *griglia = new QGridLayout(this);
QPushButton *bottone[DIM][DIM];
QSound *esplosione = new QSound(":/suoni/sparo.wav",this);
QSound *sottofondo = new QSound(":/suoni/sottofondo.wav",this);
QIcon *immagine_A = new QIcon(CARAMELLA_ROSSA);
QIcon *immagine_B = new QIcon(CARAMELLA_VERDE);
QIcon *immagine_C = new QIcon(CARAMELLA_BLU);
QIcon *boom = new QIcon(ESPLOSIONE);
QSignalMapper *mapper[DIM][DIM];
struct Coordinate{
int x = 0;
int y = 0;
} CoordAtt;
bool prima_volta = true;
bool isFinita = false;
CampoDaGioco Campo = CampoDaGioco(true);
int Mosse = MOSSE_MAX;
Classifica classifica;
Giocatore player;
bool is_new_player;
bool gioco_in_corso = false;
private slots:
void on_actionEsci_triggered();
void on_actionMossa_intelligiente_triggered();
void on_actionNuova_partita_triggered();
signals:
void clicked(int &rc);
public:
explicit FinestraGioco(QWidget *parent = 0);
void stampa_campo();
void aggiorna_campo(bool after_boom);
QString seleziona_caramella(bool isCentrale, int r, int c);
void setPlayer(QString nome);
~FinestraGioco();
public slots:
void passa_posizione(int rc);
void cancella_prossima();//è uno slot perchè lo chiamo con un QTimer
void finePartita();
};
#endif // FINESTRAGIOCO_H