ARRka  1.05
student.cpp
Idź do dokumentacji tego pliku.
1 
8 #include "inc/student.h"
9 #include <QGraphicsScene>
10 #include <QList>
11 #include <QGraphicsItem>
12 
13 Student::Student(GameSettings * gSettings, QObject *parent) : QObject(parent)
14 {
15  _stopStudent = true;
16 
17  _gameSettings=gSettings;
19  setBrush(QColor("black"));//204, 102, 0
20  QGraphicsTextItem * studentName = new QGraphicsTextItem(this);
21  studentName->setPlainText("rm -rf /");
22  studentName->adjustSize();
23  studentName->setDefaultTextColor(QColor("white"));
24  studentName->setPos(3,20);
25  resetPosition();
26 }
27 
28 //do testów i uruchomienia w razie braku płytki pod ręką
29 /*void Student::keyPressEvent(QKeyEvent *event)
30 {
31  // przemieszczanie studenta
32  if (!_stopStudent) {
33  if (event->key() == Qt::Key_Left){
34  if (pos().x() > 0)
35  setPos(x()-10,y());
36  }
37  if (event->key() == Qt::Key_Right){
38  if (pos().x() + _gameSettings->studentWidth < _gameSettings->sceneWidth)
39  setPos(x()+10,y());
40  }
41  if (event->key() == Qt::Key_Up){
42  if (pos().y()> 0)
43  setPos(x(),y()-10);
44  }
45  if (event->key() == Qt::Key_Down){
46  if (pos().y() + _gameSettings->studentHeight < _gameSettings->sceneHeight)
47  setPos(x(),y()+10);
48  }
49  }
50  }*/
51 
53 {
54  if (!_stopStudent) {
55  if ((pos().x() + data.X) > 0 && (pos().x() + _gameSettings->studentWidth + data.X) < _gameSettings->sceneWidth)
56  setPos(x()+data.X,y());
57  else if ((pos().x() + data.X) <= 0)
58  setPos(0,y());
59  else if ((pos().x() + _gameSettings->studentWidth + data.X) >= _gameSettings->sceneWidth)
61  if ((pos().y() + data.Y) > 0 && (pos().y() + _gameSettings->studentHeight + data.Y) < _gameSettings->sceneHeight)
62  setPos(x(),y()+data.Y);
63  else if ((pos().y() + data.Y) <= 0)
64  setPos(x(),0);
65  else if ((pos().y() + _gameSettings->studentHeight + data.Y) >= _gameSettings->sceneHeight)
67  }
68 }
69 
71 {
73  setFlag(QGraphicsItem::ItemIsFocusable);
74  setFocus();
75 }
76 
78 {
79  _stopStudent = true;
80 }
81 
83 {
84  _stopStudent = false;
85 }
86 
87 /*void Student::on_Game_stopStudent(bool)
88 {
89  _stopStudent=!_stopStudent;
90 }*/
91 
92 //void Student::spawn()
93 //{
94 // course = new Course(_gameSettings,4,"WDS",6);
95 // scene()->addItem(course);
96 //}
GameSettings * _gameSettings
Uchwyt do globalnych ustawień gry.
Definition: student.h:78
qreal Y
Wartość osi Y o ile trzeba przesunąć studenta.
Definition: memsdata.h:79
bool _stopStudent
Flaga zatrzymania studenta.
Definition: student.h:84
Dane przesunięcia studenta.
Definition: memsdata.h:67
void resetPosition()
Ustawienie studenta do pozycji początkowej.
Definition: student.cpp:70
int studentWidth
Szerokość studenta.
Definition: gamesettings.h:25
void on_Game_stopStudent()
Zatrzymuje studenta.
Definition: student.cpp:77
void on_Game_startStudent()
Odblokowuje możliwości ruchu studentowi.
Definition: student.cpp:82
void moveStudent(moveData data)
Poruszanie studenta po scenie.
Definition: student.cpp:52
int sceneHeight
Wysokość sceny (okienka z grą)
Definition: gamesettings.h:19
Definicja klasy Student.
qreal X
Wartość osi X o ile trzeba przesunąć studenta.
Definition: memsdata.h:73
Definuje ustawienia gryModeluje pojęcie ustawień gry, jako struktura odpowiednich pól...
Definition: gamesettings.h:17
int studentHeight
Wysokość studenta.
Definition: gamesettings.h:23
Student(GameSettings *gSettings, QObject *parent=nullptr)
Kontrutor klasy Student.
Definition: student.cpp:13
int sceneWidth
Szerokość sceny (okienka z grą)
Definition: gamesettings.h:21