diff --git a/src/Game.cpp b/src/Game.cpp index a5d8a6c..1be76fe 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -7,6 +7,7 @@ void Game::draw(QPixmap &output) { QPainter p(&output); + for (auto & spectator : spectators) spectator.draw(p); for (auto & wall : walls) @@ -36,9 +37,15 @@ void Game::removeWalls() { } Game::Game() { - for (auto & spectator : spectators){ - Game::eventQueue->registerListener(&spectator); + constexpr size_t sCount = 10; + const int w = WIDTH / sCount; + for (size_t i = 0; i < sCount; i++){ + Spectator spec; + spec.pos = QPoint(int(i) * w, SPEC_Y / 2); + spectators.push_back(spec); } + for (auto & spec : spectators) + Game::eventQueue->registerListener(&spec); InputWindow::inputQueue->registerListener(&player); instance = this; } diff --git a/src/Game.h b/src/Game.h index 205adc8..6658ee3 100644 --- a/src/Game.h +++ b/src/Game.h @@ -13,7 +13,7 @@ class Window; class Game { Player player; - std::vector spectators {5}; + std::vector spectators; std::vector walls; void tryCreateWall(); void removeWalls(); diff --git a/src/Player.h b/src/Player.h index 1510da9..e0304f8 100644 --- a/src/Player.h +++ b/src/Player.h @@ -6,7 +6,7 @@ #include class Player : public InputListener { - QVector2D pos {50, 50}; + QVector2D pos {100, 50}; QVector2D vel {}; QVector2D acc {0, 9.81 * 30}; diff --git a/src/Spectator.cpp b/src/Spectator.cpp index 7edb463..2d04424 100644 --- a/src/Spectator.cpp +++ b/src/Spectator.cpp @@ -13,7 +13,12 @@ void Spectator::OnWallCrashed(WallCrashEvent *event) { void Spectator::draw(QPainter &painter) const { + painter.save(); + painter.translate(pos); + painter.drawText(0, 0, QString("Hello")); + + painter.restore(); } diff --git a/src/Spectator.h b/src/Spectator.h index 481ee1b..2451ad4 100644 --- a/src/Spectator.h +++ b/src/Spectator.h @@ -7,5 +7,6 @@ protected: void OnWallJumped(WallJumpEvent * event) override; void OnWallCrashed(WallCrashEvent * event) override; public: + QPoint pos; void draw(QPainter &painter) const; };