-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathzBrainSystem.h
More file actions
151 lines (119 loc) · 2.44 KB
/
zBrainSystem.h
File metadata and controls
151 lines (119 loc) · 2.44 KB
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
142
143
144
145
146
147
148
149
150
151
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_zBrainSystem.h"
class QSettings;
enum zGameType
{
InvalidGameType = 0,
Brain = 1,
Svoja = 2
};
enum zSoundType
{
InvalidSoundType = 0,
PcSpeaker = 1,
SoundCard = 2
};
enum zGameState
{
Ready = 1,
Started,
Paused,
Finished
};
enum zSound
{
Stub = 0,
Start,
FalseStart,
BtnPressed,
Timeout
};
/*
#define GAME_BRAIN 0
#define GAME_SVOJAK 1
*/
struct zSettings
{
zGameType m_nGameType;
zSoundType m_nSoundType;
int m_nBrainTimeout;
int m_nErrBrainTimeout1;
int m_nErrBrainTimeout2;
int m_nErrBrainTimeout3;
int m_nErrBrainTimeout4;
int m_nErrBrainTimeout5;
int m_nErrBrainTimeout6;
int m_nErrBrainTimeout7;
int m_nErrBrainTimeout;
int m_nSvojakTimeout;
bool m_bSvojakFalseStart;
QString m_strBackground;
QString m_strStartKey;
QString m_strStopKey;
zSettings()
{
m_nGameType = zGameType::Brain;
m_nSoundType = zSoundType::PcSpeaker;
m_nBrainTimeout = 60;
m_nErrBrainTimeout1 = 20;
m_nErrBrainTimeout2 = 10;
m_nErrBrainTimeout3 = 5;
m_nErrBrainTimeout4 = 5;
m_nErrBrainTimeout5 = 5;
m_nErrBrainTimeout6 = 5;
m_nErrBrainTimeout7 = 5;
m_nErrBrainTimeout = 0;
m_nSvojakTimeout = 10;
m_bSvojakFalseStart = false;
}
};
#define zMainWnd zBrainSystem::instance()
class zCommandItem;
class QSignalMapper;
class QTimer;
class QMediaPlayer;
class QMediaPlaylist;
class QShortcut;
class zBrainSystem : public QMainWindow
{
Q_OBJECT
public:
static QSettings * settings();
static zBrainSystem * instance();
zBrainSystem(QWidget *parent = Q_NULLPTR);
virtual ~zBrainSystem();
private slots:
void onSettings();
void onStart();
void onReset();
void onCommandButton(int);
void playSound(zSound nSound);
void onTimer();
void onFullscreen();
void onNormal();
private:
Ui::zBrainSystemClass ui;
QShortcut *m_pEscShortcut;
QShortcut *m_pStartShortcut;
QShortcut *m_pStopShortcut;
void loadSettings();
bool registerButtons();
void setTime(double time);
void pressed(const zCommandItem * cmd);
static zBrainSystem * m_pMainWindow;
zSettings m_Settings;
QSignalMapper * m_pSignalMapper;
QTimer * m_pTimer;
QMediaPlayer * m_pPlayer;
QMediaPlaylist * m_pPlaylist;
QList<zCommandItem * > m_lstCommands;
QList< QShortcut* > m_lstKeys;
zGameState m_nState;
double m_dCurTime;
int m_nCountdown;
QSet<int> m_setPressedBtns;
qint64 m_i64StartTime;
bool m_bFullscreen;
int m_nFalseStartCount;
};