ARRka  1.05
game.h
Idź do dokumentacji tego pliku.
1 #ifndef GAME_H
2 #define GAME_H
3 
11 #include <QWidget>
12 #include <QObject>
13 #include <QGraphicsView>
14 #include <QGraphicsScene>
15 #include "inc/student.h"
16 #include <QTimer>
17 #include "inc/gamesettings.h"
18 #include "inc/courses.h"
19 #include "inc/memsdata.h"
20 
29 class Game : public QGraphicsView
30 {
31  Q_OBJECT
32 public:
39  Game(QWidget * parent = 0);
40 
46  GameSettings * gameSettings; //ustawienia globalne gry
47 
55  bool getGameStarted() const { return _gameStarted; }
62  void setGameStarted(bool isStarted) { _gameStarted = isStarted; }
63 
64 signals:
71  void changeDeficit(int ECTS);
78  void changeECTS(int ECTS);
85  void changeTerm(int term);
92  void changeDeansLeave(int number);
98  void stopStudent();
104  void startStudent();
110  void closeGame();
116  void changeButtonToStart();
117 
118 private slots:
126  void on_Courses_increaseDeficit(int ECTS);
133  void on_Courses_decreaseDeficit(int ECTS);
141  void on_Courses_increaseECTS(int ECTS);
149  void on_Courses_changeTerm(int term);
162  void on_startGame_clicked();
168  void on_stopGame_clicked();
195  void newDataArrived(rawData data);
196 
197 private:
203  QGraphicsScene * _scene;
221  QTimer * _timerCourses;
227  QTimer * _timerMove;
233  int _ECTS;
239  int _term;
245  int _deficit;
251  int _deansLeave; //ilość dziekanek
257  bool _gameStarted; //flaga przechowująca wystartowanie gry
263  QMediaPlayer *player;
264 
270  void startTimers();
276  void stopTimers();
282  void connectCourses();
288  void connectStudent();
294  void setupScene();
300  void createNewGame();
306  void deficitOversteped();
312  void playStartingMusic();
318  void playEndMusic();
319 };
320 
321 #endif // GAME_H
void on_MainWindow_inicializeNewGame()
Reaguje na sygnał potrzeby inicjalizacji nowej gry.
Definition: game.cpp:106
void stopStudent()
Zatrzymuje studenta w miejscu.
Definicja GameSettings.
void playEndMusic()
Odtwarza muzykę końca gry.
Definition: game.cpp:312
QTimer * _timerMove
Uchwyt do timera przesuwającego kursy.
Definition: game.h:227
void on_Courses_increaseDeficit(int ECTS)
Zwiększa liczbę punktów deficytu.
Definition: game.cpp:74
void on_Courses_gameFinished()
Wyświetla końcowy komunikat w przypadku powodzenia gry.
Definition: game.cpp:124
void changeButtonToStart()
Sygnał zmiany napisu na przyciusku start.
Definicja strutkur rawData i moveData.
void on_Courses_changeTerm(int term)
Zmienia numer aktualnego semestru.
Definition: game.cpp:68
int _deansLeave
Liczba wzietych urlopów dziekańskich.
Definition: game.h:251
int _term
Aktualny semestr studiów.
Definition: game.h:239
void connectCourses()
Łączy wszystkie sloty i sygnały związane z kursami.
Definition: game.cpp:170
void on_Courses_checkDeficitOverstep()
Sprawdza przekroczenie deficytu.
Definition: game.cpp:111
void setGameStarted(bool isStarted)
Ustawia flagę stanu gry.
Definition: game.h:62
void on_Courses_decreaseDeficit(int ECTS)
Zmniejsza liczbę punktów deficytu.
Definition: game.cpp:80
void closeGame()
Sygnał zamknięcia gry.
Courses * _courses
Uchwyt do kursów.
Definition: game.h:215
void playStartingMusic()
Odtwarza początkową muzykę
Definition: game.cpp:306
void deficitOversteped()
Obsługuje przekroczenie deficytu punków ECTS.
Definition: game.cpp:231
Student * _student
Uchwyt do studenta.
Definition: game.h:209
void createNewGame()
Generuje nową grę
Definition: game.cpp:206
QMediaPlayer * player
Odtwarzacz muzyki.
Definition: game.h:263
Game(QWidget *parent=0)
Konstruktor klasy Game.
Definition: game.cpp:22
Modeuje pojęcie Studenta.
Definition: student.h:25
Surowe dane otrzymane z kontrolera (płytki)
Definition: memsdata.h:17
GameSettings * gameSettings
Globalne ustawienia gry.
Definition: game.h:46
QGraphicsScene * _scene
Uchwyt do sceny.
Definition: game.h:203
void on_Courses_increaseECTS(int ECTS)
Zwiększa liczbę sumy punktów ECTS.
Definition: game.cpp:62
void startStudent()
Odblokowuje studenta.
void startTimers()
Zatrzymuje wszystkie timery.
Definition: game.cpp:164
void changeTerm(int term)
Zmienia wartość numeru semestru.
void setupScene()
Ustawia scenę gry.
Definition: game.cpp:195
void on_startGame_clicked()
Obsługuje naciśnięcie przycisu rozpoczęcia gry.
Definition: game.cpp:92
void stopTimers()
Startuje wszystkie timery.
Definition: game.cpp:158
bool getGameStarted() const
Zwraca flagę stanu gry.
Definition: game.h:55
void changeDeansLeave(int number)
Zmienia wartość ilości dziekanek.
void on_stopGame_clicked()
Obsługuje naciśnięcie przycisu spauzowania gry.
Definition: game.cpp:99
Definicja klasy Student.
Klasa Game - obszar główny z grą
Definition: game.h:29
Modeluje pojęcie Courses.
Definition: courses.h:26
int _deficit
Deficyt punktowy.
Definition: game.h:245
void changeECTS(int ECTS)
Zmienia wartość punktów ECTS.
Definuje ustawienia gryModeluje pojęcie ustawień gry, jako struktura odpowiednich pól...
Definition: gamesettings.h:17
int _ECTS
Suma zdobytych punktów ECTS.
Definition: game.h:233
void newDataArrived(rawData data)
Obsługuje przyjścienowych danych z czujników.
Definition: game.cpp:149
void on_Courses_failedToReadData()
Obsługuje błąd odczytu plików semestrów.
Definition: game.cpp:86
QTimer * _timerCourses
Uchwyt do timera generujacego kursy.
Definition: game.h:221
bool _gameStarted
Flaga wystartowania gry.
Definition: game.h:257
Definicja klasy Courses.
void connectStudent()
Łączy wszystkie sloty i sygnały związane ze studentem.
Definition: game.cpp:188
void changeDeficit(int ECTS)
Zmienia wartość deficytu.