From 9e97387a9685b3dce047faef9983b030c22014b0 Mon Sep 17 00:00:00 2001 From: dzhen Date: Thu, 19 May 2022 21:18:05 +0300 Subject: [PATCH 01/11] add customizable base classes --- CMakeLists.txt | 8 +- Controller/controller.cpp | 6 +- Controller/controller.h | 4 +- .../BasicObjects/Entities/Mobs/Basis/mob.h | 3 +- .../Projectiles/autoguided_projectile.cpp | 2 +- .../Projectiles/autoguided_projectile.h | 4 +- .../Entities/Projectiles/projectile.cpp | 4 + .../Entities/Projectiles/projectile.h | 10 +++ GameObjects/BasicObjects/Interface/entity.cpp | 6 +- GameObjects/BasicObjects/Interface/entity.h | 6 +- .../BasicObjects/Interface/graphics_item.cpp | 17 ++++ .../BasicObjects/Interface/graphics_item.h | 19 +++++ game_scene.cpp | 78 +++++++++++++++++++ game_scene.h | 30 +++++++ game_view.cpp | 6 ++ game_view.h | 4 + 16 files changed, 189 insertions(+), 18 deletions(-) create mode 100644 GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp create mode 100644 GameObjects/BasicObjects/Entities/Projectiles/projectile.h create mode 100644 GameObjects/BasicObjects/Interface/graphics_item.cpp create mode 100644 GameObjects/BasicObjects/Interface/graphics_item.h create mode 100644 game_scene.cpp create mode 100644 game_scene.h diff --git a/CMakeLists.txt b/CMakeLists.txt index c6fcf02..588e14f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,9 @@ set(GAME_OBJECTS GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.cpp GameObjects/BasicObjects/Entities/Towers/test_tower.cpp GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp - GameObjects/BasicObjects/Entities/Projectiles/test_projectile.cpp) + GameObjects/BasicObjects/Entities/Projectiles/test_projectile.cpp + GameObjects/BasicObjects/Interface/graphics_item.cpp + GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp) set(UTILITIES Utilities/damage.cpp @@ -42,6 +44,8 @@ add_executable(Game ${UTILITIES} main.cpp main_window.cpp - Controller/controller.cpp game_view.cpp game_view.h constants.cpp) + Controller/controller.cpp + game_view.cpp + constants.cpp game_scene.cpp game_scene.h) target_link_libraries(Game Qt::Core Qt::Gui Qt::Widgets) \ No newline at end of file diff --git a/Controller/controller.cpp b/Controller/controller.cpp index e8b5b76..1d40d80 100644 --- a/Controller/controller.cpp +++ b/Controller/controller.cpp @@ -12,7 +12,7 @@ Controller* Controller::instance; Controller::Controller() : - scene_(new QGraphicsScene(kSceneRect)), + scene_(new GameScene(kSceneRect)), view_(new GameView(scene_)), tick_timer_(new QTimer(this)) { SetupScene(); @@ -23,6 +23,10 @@ GameView* Controller::GetView() const { return view_; } +GameScene* Controller::GetScene() const { + return scene_; +} + void Controller::SetupScene() { { // temporary code QPushButton* close_button = new QPushButton(); diff --git a/Controller/controller.h b/Controller/controller.h index 662a639..0a1d680 100644 --- a/Controller/controller.h +++ b/Controller/controller.h @@ -6,6 +6,7 @@ #include "GameObjects/BasicObjects/Interface/entity.h" #include "game_view.h" +#include "game_scene.h" class Controller : public QObject { Q_OBJECT @@ -13,6 +14,7 @@ class Controller : public QObject { static Controller* Instance(); [[nodiscard]] GameView* GetView() const; + [[nodiscard]] GameScene* GetScene() const; public slots: void TickAllTickables(); @@ -25,7 +27,7 @@ class Controller : public QObject { void SetupScene(); void LaunchTickTimer(); - QGraphicsScene* scene_; + GameScene* scene_; GameView* view_; QTimer* tick_timer_; }; diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h index b9cee7f..2e3809e 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h @@ -1,9 +1,8 @@ #pragma once -#include "GameObjects/BasicObjects/Interface/entity.h" - #include +#include "GameObjects/BasicObjects/Interface/entity.h" #include "Utilities/vector_f.h" class Mob : public Entity { diff --git a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp index da0a0e7..fff2f2a 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp +++ b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp @@ -8,7 +8,7 @@ AutoguidedProjectile::AutoguidedProjectile( Entity* target, qreal speed, Damage damage) - : Entity(coordinates, pixmap), + : Projectile(coordinates, pixmap), target_(target), speed_(speed), damage_(damage) {} void AutoguidedProjectile::Tick(Time delta) { diff --git a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h index 0a70022..96b23dd 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h +++ b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h @@ -1,8 +1,8 @@ #pragma once -#include "GameObjects/BasicObjects/Interface/entity.h" +#include "GameObjects/BasicObjects/Entities/Projectiles/projectile.h" -class AutoguidedProjectile : public Entity { +class AutoguidedProjectile : public Projectile { public: AutoguidedProjectile(const VectorF& coordinates, QPixmap* pixmap, diff --git a/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp new file mode 100644 index 0000000..01b7ba4 --- /dev/null +++ b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp @@ -0,0 +1,4 @@ +#include "projectile.h" + +Projectile::Projectile( const VectorF& coordinates, QPixmap* pixmap) + : Entity(coordinates, pixmap) {} diff --git a/GameObjects/BasicObjects/Entities/Projectiles/projectile.h b/GameObjects/BasicObjects/Entities/Projectiles/projectile.h new file mode 100644 index 0000000..e0299e5 --- /dev/null +++ b/GameObjects/BasicObjects/Entities/Projectiles/projectile.h @@ -0,0 +1,10 @@ +#pragma once + +#include "GameObjects/BasicObjects/Interface/entity.h" + +class Projectile : public Entity { + public: + Projectile(const VectorF& coordinates, QPixmap* pixmap); +}; + + diff --git a/GameObjects/BasicObjects/Interface/entity.cpp b/GameObjects/BasicObjects/Interface/entity.cpp index 0a48275..11a3f85 100644 --- a/GameObjects/BasicObjects/Interface/entity.cpp +++ b/GameObjects/BasicObjects/Interface/entity.cpp @@ -4,7 +4,7 @@ Entity::Entity( const VectorF& coordinates, QPixmap* pixmap, int health) - : Damageable(health), QGraphicsItem(), + : Damageable(health), GraphicsItem(), pixmap(pixmap) { setPos(coordinates); setFlag(ItemSendsGeometryChanges); @@ -23,7 +23,3 @@ void Entity::paint(QPainter* painter, painter->drawPixmap(Entity::boundingRect().toRect(), *pixmap); painter->restore(); } - -void Entity::MoveBy(const VectorF& delta) { - setPos(pos() + delta); -} diff --git a/GameObjects/BasicObjects/Interface/entity.h b/GameObjects/BasicObjects/Interface/entity.h index a0efcda..e0fb9d6 100644 --- a/GameObjects/BasicObjects/Interface/entity.h +++ b/GameObjects/BasicObjects/Interface/entity.h @@ -1,6 +1,5 @@ #pragma once -#include #include #include #include @@ -11,12 +10,13 @@ #include "tickable.h" #include "damageable.h" #include "Utilities/vector_f.h" +#include "GameObjects/BasicObjects/Interface/graphics_item.h" class Entity : public QObject, public Tickable, public Damageable, - public QGraphicsItem { + public GraphicsItem { Q_OBJECT public: Entity( @@ -29,8 +29,6 @@ class Entity const QStyleOptionGraphicsItem* option, QWidget* widget) override; - void MoveBy(const VectorF& delta); - protected: QPixmap* pixmap; }; diff --git a/GameObjects/BasicObjects/Interface/graphics_item.cpp b/GameObjects/BasicObjects/Interface/graphics_item.cpp new file mode 100644 index 0000000..2b80d7c --- /dev/null +++ b/GameObjects/BasicObjects/Interface/graphics_item.cpp @@ -0,0 +1,17 @@ +#include "graphics_item.h" + +GraphicsItem::GraphicsItem(QGraphicsItem* parent) : QGraphicsItem(parent) {} + +GameScene* GraphicsItem::scene() { + auto result = dynamic_cast(QGraphicsItem::scene()); + assert(result != nullptr); + return result; +} + +GameView* GraphicsItem::view() { + return scene()->view(); +} + +void GraphicsItem::MoveBy(const VectorF& delta) { + setPos(pos() + delta); +} diff --git a/GameObjects/BasicObjects/Interface/graphics_item.h b/GameObjects/BasicObjects/Interface/graphics_item.h new file mode 100644 index 0000000..b6b2739 --- /dev/null +++ b/GameObjects/BasicObjects/Interface/graphics_item.h @@ -0,0 +1,19 @@ +#pragma once + +#include "QGraphicsItem" + +#include "Utilities/vector_f.h" +#include "game_scene.h" +#include "game_view.h" + +class GraphicsItem : public QGraphicsItem { + public: + GraphicsItem(QGraphicsItem* parent = nullptr); + + GameScene* scene(); + GameView* view(); + + void MoveBy(const VectorF& delta); +}; + + diff --git a/game_scene.cpp b/game_scene.cpp new file mode 100644 index 0000000..6a43993 --- /dev/null +++ b/game_scene.cpp @@ -0,0 +1,78 @@ +#include "game_scene.h" + +#include "GameObjects/BasicObjects/Interface/graphics_item.h" +#include "game_view.h" +#include "GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h" +#include "GameObjects/BasicObjects/Entities/Towers/tower.h" +#include "GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h" +#include "GameObjects/BasicObjects/Entities/Projectiles/projectile.h" + +GameScene::GameScene(const QRectF& scene_rect, QObject* parent) + : QGraphicsScene(scene_rect, parent), + mobs_(std::set()), + towers_(std::set()), + tower_slots_(std::set()), + projectiles_(std::set()) {} + +GameView* GameScene::view() { + auto result = dynamic_cast(QGraphicsScene::views().at(0)); + assert(result != nullptr); + return result; +} + +void GameScene::removeItem(GraphicsItem* item) { + auto mob = dynamic_cast(item); + if (mob != nullptr) { + mobs_.erase(mob); + } + + auto tower = dynamic_cast(item); + if (tower != nullptr) { + towers_.erase(tower); + } + + auto tower_slot = dynamic_cast(item); + if (tower_slot != nullptr) { + tower_slots_.erase(tower_slot); + } + + auto projectile = dynamic_cast(item); + if (projectile != nullptr) { + projectiles_.erase(projectile); + } + + QGraphicsScene::removeItem(item); +} + +void GameScene::clear() { + mobs_.clear(); + towers_.clear(); + tower_slots_.clear(); + projectiles_.clear(); + + QGraphicsScene::clear(); +} + +void GameScene::addItem(GraphicsItem* item) { + auto mob = dynamic_cast(item); + if (mob != nullptr) { + mobs_.erase(mob); + } + + auto tower = dynamic_cast(item); + if (tower != nullptr) { + towers_.erase(tower); + } + + auto tower_slot = dynamic_cast(item); + if (tower_slot != nullptr) { + tower_slots_.erase(tower_slot); + } + + auto projectile = dynamic_cast(item); + if (projectile != nullptr) { + projectiles_.erase(projectile); + } + + QGraphicsScene::addItem(item); +} diff --git a/game_scene.h b/game_scene.h new file mode 100644 index 0000000..69f79b6 --- /dev/null +++ b/game_scene.h @@ -0,0 +1,30 @@ +#pragma once + +#include + +#include +#include + +class GraphicsItem; +class GameView; +class Mob; +class Tower; +class TowerSlot; +class Projectile; + +class GameScene : public QGraphicsScene { + public: + GameScene(const QRectF& scene_rect, QObject* parent = nullptr); + + GameView* view(); + + void removeItem(GraphicsItem* item); + void clear(); + void addItem(GraphicsItem* item); + + private: + std::set mobs_; + std::set towers_; + std::set tower_slots_; + std::set projectiles_; +}; diff --git a/game_view.cpp b/game_view.cpp index cc91884..59d7a58 100644 --- a/game_view.cpp +++ b/game_view.cpp @@ -18,3 +18,9 @@ GameView::GameView(QGraphicsScene* scene, QWidget* parent) centerOn(0, 0); } + +GameScene* GameView::scene() { + auto result = dynamic_cast(QGraphicsView::scene()); + assert(result != nullptr); + return result; +} diff --git a/game_view.h b/game_view.h index e3bc675..1cdcceb 100644 --- a/game_view.h +++ b/game_view.h @@ -2,7 +2,11 @@ #include +#include "game_scene.h" + class GameView : public QGraphicsView { public: explicit GameView(QGraphicsScene* scene, QWidget* parent = nullptr); + + GameScene* scene(); }; From 60152337f3d0d06d1e1e7ba3716626b86b748fd5 Mon Sep 17 00:00:00 2001 From: dzhen Date: Thu, 19 May 2022 21:56:21 +0300 Subject: [PATCH 02/11] add getters to scene --- game_scene.cpp | 16 ++++++++++++++++ game_scene.h | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/game_scene.cpp b/game_scene.cpp index 6a43993..5d28dcd 100644 --- a/game_scene.cpp +++ b/game_scene.cpp @@ -76,3 +76,19 @@ void GameScene::addItem(GraphicsItem* item) { QGraphicsScene::addItem(item); } + +const std::set& GameScene::Mobs() const { + return mobs_; +} + +const std::set& GameScene::Towers() const { + return towers_; +} + +const std::set& GameScene::TowerSlots() const { + return tower_slots_; +} + +const std::set& GameScene::Projectiles() const { + return projectiles_; +} diff --git a/game_scene.h b/game_scene.h index 69f79b6..f9d1472 100644 --- a/game_scene.h +++ b/game_scene.h @@ -22,6 +22,11 @@ class GameScene : public QGraphicsScene { void clear(); void addItem(GraphicsItem* item); + [[nodiscard]] const std::set& Mobs() const; + [[nodiscard]] const std::set& Towers() const; + [[nodiscard]] const std::set& TowerSlots() const; + [[nodiscard]] const std::set& Projectiles() const; + private: std::set mobs_; std::set towers_; From abf58151ece497b7e820fcda698ba67ae64c2d08 Mon Sep 17 00:00:00 2001 From: dzhen Date: Thu, 19 May 2022 22:17:58 +0300 Subject: [PATCH 03/11] fix cpplint --- GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp | 2 +- GameObjects/BasicObjects/Interface/graphics_item.h | 2 +- game_scene.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp index 01b7ba4..d4bd53b 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp +++ b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp @@ -1,4 +1,4 @@ #include "projectile.h" -Projectile::Projectile( const VectorF& coordinates, QPixmap* pixmap) +Projectile::Projectile(const VectorF& coordinates, QPixmap* pixmap) : Entity(coordinates, pixmap) {} diff --git a/GameObjects/BasicObjects/Interface/graphics_item.h b/GameObjects/BasicObjects/Interface/graphics_item.h index b6b2739..0255ceb 100644 --- a/GameObjects/BasicObjects/Interface/graphics_item.h +++ b/GameObjects/BasicObjects/Interface/graphics_item.h @@ -8,7 +8,7 @@ class GraphicsItem : public QGraphicsItem { public: - GraphicsItem(QGraphicsItem* parent = nullptr); + explicit GraphicsItem(QGraphicsItem* parent = nullptr); GameScene* scene(); GameView* view(); diff --git a/game_scene.h b/game_scene.h index f9d1472..28cbbd4 100644 --- a/game_scene.h +++ b/game_scene.h @@ -14,7 +14,7 @@ class Projectile; class GameScene : public QGraphicsScene { public: - GameScene(const QRectF& scene_rect, QObject* parent = nullptr); + explicit GameScene(const QRectF& scene_rect, QObject* parent = nullptr); GameView* view(); From 6f1825294252f394d2e1b3d12f9ef8b29eaf366e Mon Sep 17 00:00:00 2001 From: dzhen Date: Fri, 20 May 2022 19:21:15 +0300 Subject: [PATCH 04/11] test use of animations, many other fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Если кратко, то вот: 1)Тестовый моб теперь может чуть больше и у него есть анимации 2)Самонаводящиеся пули перескакивают на других мобов при смерти первоначальных --- CMakeLists.txt | 6 +- .../BasicObjects/Entities/Mobs/Basis/mob.cpp | 16 ++- .../BasicObjects/Entities/Mobs/Basis/mob.h | 6 ++ .../BasicObjects/Entities/Mobs/test_mob.cpp | 57 +++++++--- .../BasicObjects/Entities/Mobs/test_mob.h | 11 +- .../Projectiles/autoguided_projectile.cpp | 68 +++++++++++- .../Projectiles/autoguided_projectile.h | 6 ++ .../Entities/Projectiles/projectile.cpp | 5 +- .../Entities/Projectiles/projectile.h | 1 + .../Towers/TowerSlots/test_tower_slot.cpp | 2 - .../Entities/Towers/TowerSlots/tower_slot.cpp | 7 +- .../Entities/Towers/TowerSlots/tower_slot.h | 2 + .../Entities/Towers/test_tower.cpp | 5 + .../BasicObjects/Entities/Towers/tower.cpp | 5 +- .../BasicObjects/Entities/Towers/tower.h | 1 + .../BasicObjects/Interface/damageable.cpp | 4 + .../BasicObjects/Interface/damageable.h | 1 + GameObjects/BasicObjects/Interface/entity.cpp | 29 ++++- GameObjects/BasicObjects/Interface/entity.h | 9 +- Resources/images/fire_totem.png | Bin 0 -> 56556 bytes Resources/images/fire_totem2.png | Bin 0 -> 46781 bytes Resources/resources.qrc | 1 + Utilities/Resources/pixmap_loader.cpp | 86 +++++++++++++-- Utilities/Resources/pixmap_loader.h | 22 ++++ Utilities/animation.cpp | 80 ++++++++++++++ Utilities/animation.h | 35 ++++++ Utilities/time.cpp | 17 +++ Utilities/time.h | 7 ++ constants.cpp | 8 +- game_scene.cpp | 100 ++++++------------ game_scene.h | 21 ++-- 31 files changed, 488 insertions(+), 130 deletions(-) create mode 100644 Resources/images/fire_totem.png create mode 100644 Resources/images/fire_totem2.png create mode 100644 Utilities/animation.cpp create mode 100644 Utilities/animation.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 90a8521..aa74e70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,7 +39,8 @@ set(UTILITIES Utilities/timer.cpp Utilities/route.cpp Utilities/wave.cpp - wave_manager.cpp) + wave_manager.cpp + Utilities/animation.cpp) add_executable(Game ${RESOURCES} @@ -49,6 +50,7 @@ add_executable(Game main_window.cpp Controller/controller.cpp game_view.cpp - constants.cpp game_scene.cpp game_scene.h) + constants.cpp + game_scene.cpp) target_link_libraries(Game Qt::Core Qt::Gui Qt::Widgets) \ No newline at end of file diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp index 7b75d16..f494d26 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp @@ -2,21 +2,27 @@ #include #include -std::vector - routes{Route({QPointF(50, 50), QPointF(150, 300), - QPointF(-100, -50)})}; // TODO(parfen01): move in level +std::vector routes{Route({ + QPointF(50, 50), + QPointF(300, 400), + QPointF(-100, -50)})}; // TODO(parfen01): move in level Mob::Mob(const VectorF& coordinates, - QPixmap* pixmap, + Animation* animation, int health, qreal speed) - : Entity(coordinates, pixmap, health), + : Entity(coordinates, animation, health), speed_(speed) { route_ = &routes[0]; route_->AddEntity(this); Entity::setPos(route_->GetStart()); } +Mob::Mob(const VectorF& coordinates, + QPixmap* pixmap, + int health, + qreal speed) : Mob(coordinates, new Animation(pixmap), health, speed) {} + qreal Mob::GetSpeed() const { return speed_; } diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h index df39368..9a13d04 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h @@ -12,6 +12,12 @@ class Mob : public Entity { QPixmap* pixmap, int health, qreal speed = 0); + + Mob(const VectorF& coordinates, + Animation* animation, + int health, + qreal speed = 0); + [[nodiscard]] qreal GetSpeed() const; void SetSpeed(qreal speed); diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp index 70086f2..350ac12 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp @@ -1,12 +1,23 @@ #include "test_mob.h" -#include +#include #include "Utilities/Resources/pixmap_loader.h" #include "constants.h" void TestMob::Tick(Time delta) { - if (!Mob::route_->isEnd(this)) { + Mob::Tick(delta); + if (is_creating_ && animation_->WasEndedDuringPreviousUpdate()) { + is_creating_ = false; + animation_ = idle_animation_; + } + if (is_destroying_ && animation_->WasEndedDuringPreviousUpdate()) { + animation_->SetIndex(animation_->FrameCount() - 1); + std::cout << "test mob will be destroyed" << std::endl; + deleteLater(); + } + + if (!is_creating_ && !Mob::route_->isEnd(this)) { Mob::route_->Move(this, Mob::speed_ * delta.seconds()); } } @@ -23,26 +34,46 @@ void TestMob::keyPressEvent(QKeyEvent* event) { setPos(pos() + velocity_vector); } else if (event->key() == Qt::Key::Key_Down) { setPos(pos() - velocity_vector); + } else if (event->key() == Qt::Key::Key_Space && !is_destroying_) { + health_ = 0; + is_destroying_ = true; + disappearing_animation_->Reset(); + animation_ = disappearing_animation_; } } void TestMob::mousePressEvent(QGraphicsSceneMouseEvent* event) { - scene()->addItem(new TestMob(pos() + VectorF{10, 30})); + scene()->addItem(new TestMob(pos() + VectorF{100, 100})); } TestMob::TestMob(const VectorF& coordinates) : Mob( - coordinates, - PixmapLoader::Pixmaps::kTestMob, - Entities::TestMob::kHealth) { + coordinates, + // TODO(jansenin): Было бы лучше инициализировать анимации отдельно от моба + new Animation(PixmapLoader::Pixmaps::kFireTotemAppearing, 50_ms), + Entities::TestMob::kHealth, + 100), + is_destroying_(false), + idle_animation_(new Animation(PixmapLoader::Pixmaps::kFireTotemIdle, 50_ms)), + disappearing_animation_(new Animation(PixmapLoader::Pixmaps::kFireTotemDisappear, 50_ms)), + appearing_animation_(animation_), + is_creating_(true) { setFlag(QGraphicsItem::ItemIsFocusable, true); + setScale(1.4); } -void TestMob::paint(QPainter* painter, - const QStyleOptionGraphicsItem* option, - QWidget* widget) { - Entity::paint(painter, option, widget); - if (health_ == 0) { - painter->drawLine(-50, -50, 50, 50); - painter->drawLine(50, -50, -50, 50); + +TestMob::~TestMob() { + delete idle_animation_; + delete disappearing_animation_; + delete appearing_animation_; +} + +void TestMob::ApplyDamage(Damage damage) { + Damageable::ApplyDamage(damage); + + if (health_ <= 0 && !is_destroying_) { + disappearing_animation_->Reset(); + is_destroying_ = true; + animation_ = disappearing_animation_; } } diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h index 3f483bf..0c0db01 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h @@ -10,12 +10,17 @@ class TestMob : public Mob { explicit TestMob(const VectorF& coordinates = VectorF{0, 0}); void Tick(Time delta) override; + void ApplyDamage(Damage damage) override; - void paint(QPainter* painter, - const QStyleOptionGraphicsItem* option, - QWidget* widget) override; + virtual ~TestMob(); protected: void keyPressEvent(QKeyEvent* event) override; void mousePressEvent(QGraphicsSceneMouseEvent* event) override; + + bool is_destroying_; + bool is_creating_; + Animation* idle_animation_; + Animation* disappearing_animation_; + Animation* appearing_animation_; }; diff --git a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp index fff2f2a..3e690e6 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp +++ b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp @@ -1,6 +1,20 @@ #include #include "autoguided_projectile.h" +#include "GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h" + +AutoguidedProjectile::AutoguidedProjectile( + const VectorF& coordinates, + Animation* animation, + Entity* target, + qreal speed, + Damage damage) + : Projectile(coordinates, animation), + target_(target), speed_(speed), damage_(damage) { + connect(target_, &Entity::destroyed, this, + &AutoguidedProjectile::FindNewTargetOrDie); +} + AutoguidedProjectile::AutoguidedProjectile( const VectorF& coordinates, @@ -8,10 +22,21 @@ AutoguidedProjectile::AutoguidedProjectile( Entity* target, qreal speed, Damage damage) - : Projectile(coordinates, pixmap), - target_(target), speed_(speed), damage_(damage) {} + : AutoguidedProjectile( + coordinates,new Animation(pixmap), target, speed, damage) {} void AutoguidedProjectile::Tick(Time delta) { + Projectile::Tick(delta); + if (target_ == nullptr) { + return; + } + if (target_->GetHealth() <= 0) { + FindNewTargetOrDie(); + } + if (target_ == nullptr) { + return; + } + Move(delta); if (target_->collidesWithItem(this)) { @@ -21,9 +46,48 @@ void AutoguidedProjectile::Tick(Time delta) { } void AutoguidedProjectile::Move(Time delta) { + if (target_ == nullptr) { + return; + } VectorF target_point = target_->scenePos(); VectorF delta_pos = target_point - scenePos(); VectorF velocity = delta_pos.normalized() * speed_; MoveBy(velocity * delta.seconds()); } + +void AutoguidedProjectile::FindNewTargetOrDie() { + if (scene()->Mobs().empty()) { + SetTarget(nullptr); + deleteLater(); + } else { + auto old_target = target_; + for (auto new_target : scene()->Mobs()) { + if (new_target != target_ && VectorF(new_target->scenePos() - scenePos()).length() < 100) { + SetTarget(new_target); + break; + } + } + if (old_target == target_) { + SetTarget(nullptr); + deleteLater(); + } + } +} + +void AutoguidedProjectile::SetTarget(Entity* target) { + // TODO(jansenin): what if target_ is destroyed? + disconnect( + target_, + &Entity::destroyed, + this, + &AutoguidedProjectile::FindNewTargetOrDie); + target_ = target; + if (target_ != nullptr) { + connect( + target_, + &Entity::destroyed, + this, + &AutoguidedProjectile::FindNewTargetOrDie); + } +} diff --git a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h index 96b23dd..75c2b9a 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h +++ b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.h @@ -8,10 +8,16 @@ class AutoguidedProjectile : public Projectile { QPixmap* pixmap, Entity* target, qreal speed, Damage damage); + AutoguidedProjectile(const VectorF& coordinates, + Animation* animation, + Entity* target, qreal speed, Damage damage); + void SetTarget(Entity* target); + void Tick(Time delta) override; protected: void Move(Time delta); + void FindNewTargetOrDie(); Entity* target_; qreal speed_; diff --git a/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp index d4bd53b..6e3aa13 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp +++ b/GameObjects/BasicObjects/Entities/Projectiles/projectile.cpp @@ -1,4 +1,7 @@ #include "projectile.h" Projectile::Projectile(const VectorF& coordinates, QPixmap* pixmap) - : Entity(coordinates, pixmap) {} + : Projectile(coordinates, new Animation(pixmap)) {} + +Projectile::Projectile(const VectorF& coordinates, Animation* animation) + : Entity(coordinates, animation) {} diff --git a/GameObjects/BasicObjects/Entities/Projectiles/projectile.h b/GameObjects/BasicObjects/Entities/Projectiles/projectile.h index e0299e5..64e1870 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/projectile.h +++ b/GameObjects/BasicObjects/Entities/Projectiles/projectile.h @@ -5,6 +5,7 @@ class Projectile : public Entity { public: Projectile(const VectorF& coordinates, QPixmap* pixmap); + Projectile(const VectorF& coordinates, Animation* animation); }; diff --git a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.cpp b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.cpp index 2706df1..621fea4 100644 --- a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.cpp +++ b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.cpp @@ -1,7 +1,5 @@ #include "test_tower_slot.h" -#include - #include "GameObjects/BasicObjects/Entities/Towers/test_tower.h" #include diff --git a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.cpp b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.cpp index 4169abb..5f158a8 100644 --- a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.cpp +++ b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.cpp @@ -13,9 +13,14 @@ void TowerSlot::ClearArea() { } TowerSlot::TowerSlot(const VectorF& coordinates, QPixmap* pixmap) - : Entity(coordinates, pixmap), tower_(nullptr) {} + : TowerSlot(coordinates, new Animation(pixmap)) {} + +TowerSlot::TowerSlot(const VectorF& coordinates, Animation* animation) + : Entity(coordinates, animation), tower_(nullptr) {} void TowerSlot::Tick(Time time) { + Entity::Tick(time); + if (tower_ != nullptr) { tower_->Tick(time); } diff --git a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h index e6dff12..d281e4f 100644 --- a/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h +++ b/GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h @@ -6,6 +6,8 @@ class TowerSlot : public Entity { public: TowerSlot(const VectorF& coordinates, QPixmap* pixmap); + TowerSlot(const VectorF& coordinates, Animation* animation); + [[nodiscard]] bool IsTakenUp() const; void TakeUpArea(Tower* tower); void ClearArea(); diff --git a/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp b/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp index 5865452..b0a79b0 100644 --- a/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp +++ b/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp @@ -30,6 +30,8 @@ TestTower::TestTower(const VectorF& coordinates) } void TestTower::Tick(Time delta) { + Tower::Tick(delta); + attack_timer_.Tick(delta); if (attack_timer_.IsExpired()) { @@ -37,6 +39,9 @@ void TestTower::Tick(Time delta) { scene()->items(scene_attack_area_); for (QGraphicsItem* item : items_in_attack_area) { if (Mob* mob = dynamic_cast(item)) { + if (mob->GetHealth() <= 0) { + continue; + } scene()->addItem(new TestProjectile(scenePos(), mob)); attack_timer_.Start(Entities::TestTower::kAttackCooldown); break; diff --git a/GameObjects/BasicObjects/Entities/Towers/tower.cpp b/GameObjects/BasicObjects/Entities/Towers/tower.cpp index a5269ef..f92c0af 100644 --- a/GameObjects/BasicObjects/Entities/Towers/tower.cpp +++ b/GameObjects/BasicObjects/Entities/Towers/tower.cpp @@ -1,4 +1,7 @@ #include "tower.h" Tower::Tower(const VectorF& coordinates, QPixmap* pixmap, int health) - : Entity(coordinates, pixmap, health) {} + : Tower(coordinates, new Animation(pixmap), health) {} + +Tower::Tower(const VectorF& coordinates, Animation* animation, int health) + : Entity(coordinates, animation, health) {} diff --git a/GameObjects/BasicObjects/Entities/Towers/tower.h b/GameObjects/BasicObjects/Entities/Towers/tower.h index 81f2dd2..4a41492 100644 --- a/GameObjects/BasicObjects/Entities/Towers/tower.h +++ b/GameObjects/BasicObjects/Entities/Towers/tower.h @@ -5,4 +5,5 @@ class Tower : public Entity { public: Tower(const VectorF& coordinates, QPixmap* pixmap, int health = 0); + Tower(const VectorF& coordinates, Animation* animation, int health = 0); }; diff --git a/GameObjects/BasicObjects/Interface/damageable.cpp b/GameObjects/BasicObjects/Interface/damageable.cpp index 739c492..1f9c3a6 100644 --- a/GameObjects/BasicObjects/Interface/damageable.cpp +++ b/GameObjects/BasicObjects/Interface/damageable.cpp @@ -14,3 +14,7 @@ void Damageable::ApplyDamage(Damage damage) { void Damageable::SetHealth(int health) { health_ = health; } + +int Damageable::GetHealth() { + return health_; +} diff --git a/GameObjects/BasicObjects/Interface/damageable.h b/GameObjects/BasicObjects/Interface/damageable.h index 53527b3..daac308 100644 --- a/GameObjects/BasicObjects/Interface/damageable.h +++ b/GameObjects/BasicObjects/Interface/damageable.h @@ -6,6 +6,7 @@ class Damageable { public: explicit Damageable(int health); virtual void ApplyDamage(Damage damage); + int GetHealth(); protected: int health_; diff --git a/GameObjects/BasicObjects/Interface/entity.cpp b/GameObjects/BasicObjects/Interface/entity.cpp index 11a3f85..9fb111f 100644 --- a/GameObjects/BasicObjects/Interface/entity.cpp +++ b/GameObjects/BasicObjects/Interface/entity.cpp @@ -1,25 +1,44 @@ #include "entity.h" +#include + Entity::Entity( const VectorF& coordinates, QPixmap* pixmap, int health) - : Damageable(health), GraphicsItem(), - pixmap(pixmap) { + : Entity(coordinates, new Animation(pixmap), health) {} + +Entity::Entity(const VectorF& coordinates, Animation* animation, int health) + : Damageable(health), + GraphicsItem(), + animation_(animation) { + animation->Frame(); setPos(coordinates); setFlag(ItemSendsGeometryChanges); } QRectF Entity::boundingRect() const { + const QPixmap* frame = animation_->Frame(); return QRectF( - pixmap->rect().translated( - QPoint{ -pixmap->width()/2, -pixmap->height()/2 })); + frame->rect().translated( + QPoint{ -frame->width()/2, -frame->height()/2 })); } void Entity::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) { painter->save(); - painter->drawPixmap(Entity::boundingRect().toRect(), *pixmap); + static QPen pen(QColor(0, 0, 255, 50)); + painter->setPen(pen); + //painter->drawRect(boundingRect()); + painter->drawPixmap(Entity::boundingRect().toRect(), *animation_->Frame()); painter->restore(); } + +void Entity::Tick(Time delta) { + QPixmap* previous_frame = animation_->Frame(); + animation_->Tick(delta); + if (previous_frame != animation_->Frame()) { + update(); + } +} diff --git a/GameObjects/BasicObjects/Interface/entity.h b/GameObjects/BasicObjects/Interface/entity.h index e0fb9d6..d6a8bc5 100644 --- a/GameObjects/BasicObjects/Interface/entity.h +++ b/GameObjects/BasicObjects/Interface/entity.h @@ -11,6 +11,7 @@ #include "damageable.h" #include "Utilities/vector_f.h" #include "GameObjects/BasicObjects/Interface/graphics_item.h" +#include "Utilities/animation.h" class Entity : public QObject, @@ -24,11 +25,17 @@ class Entity QPixmap* pixmap, int health = 0); + Entity( + const VectorF& coordinates, + Animation* animation, + int health = 0); + [[nodiscard]] QRectF boundingRect() const override; void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) override; + void Tick(Time delta) override; protected: - QPixmap* pixmap; + Animation* animation_; }; diff --git a/Resources/images/fire_totem.png b/Resources/images/fire_totem.png new file mode 100644 index 0000000000000000000000000000000000000000..d0dc40a141417d65a34b71b8c604dcdec3be6159 GIT binary patch literal 56556 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 literal 0 HcmV?d00001 diff --git a/Resources/images/fire_totem2.png b/Resources/images/fire_totem2.png new file mode 100644 index 0000000000000000000000000000000000000000..014f8f228b40022b53d98ace2095cb1f51a621b2 GIT binary patch literal 46781 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/test_tower.png images/test_tower_gun.png images/test_tower_slot.png + images/fire_totem.png \ No newline at end of file diff --git a/Utilities/Resources/pixmap_loader.cpp b/Utilities/Resources/pixmap_loader.cpp index 15c8207..c4a0524 100644 --- a/Utilities/Resources/pixmap_loader.cpp +++ b/Utilities/Resources/pixmap_loader.cpp @@ -1,19 +1,89 @@ #include "pixmap_loader.h" -QPixmap* PixmapLoader::Pixmaps::kBackground; -QPixmap* PixmapLoader::Pixmaps::kTestBullet; -QPixmap* PixmapLoader::Pixmaps::kTestMob; -QPixmap* PixmapLoader::Pixmaps::kTestTower; -QPixmap* PixmapLoader::Pixmaps::kTestTowerGun; -QPixmap* PixmapLoader::Pixmaps::kTestTowerSlot; +using P = PixmapLoader::Pixmaps; -void PixmapLoader::LoadPixmaps() { - using P = PixmapLoader::Pixmaps; +QPixmap* P::kBackground; +QPixmap* P::kTestBullet; +QPixmap* P::kTestMob; +QPixmap* P::kTestTower; +QPixmap* P::kTestTowerGun; +QPixmap* P::kTestTowerSlot; + +QPixmap* P::kFireTotemAnimations; +std::vector P::kFireTotemIdle; +std::vector P::kFireTotemDisappear; +std::vector P::kFireTotemAppearing; +void PixmapLoader::LoadPixmaps() { P::kBackground = new QPixmap(":images/background.png"); P::kTestBullet = new QPixmap(":images/test_bullet.png"); P::kTestMob = new QPixmap(":images/test_mob.png"); P::kTestTower = new QPixmap(":images/test_tower.png"); P::kTestTowerGun = new QPixmap(":images/test_tower_gun.png"); P::kTestTowerSlot = new QPixmap(":images/test_tower_slot.png"); + + LoadFireTotemAnimations(); +} + +std::vector PixmapLoader::CreateHorizontalFramesVector( + QPixmap* source, + int frame_width, + int frame_height, + int frames_count, + int start_x, + int y) { + std::vector result; + + for (int i = 0 ; i < frames_count ; ++i) { + int x = i * frame_width + start_x; + QPixmap* frame = new QPixmap(std::move(source->copy( + QRect(x, y, frame_width, frame_height) + ))); + result.push_back(frame); + } + + return result; +} + +void PixmapLoader::LoadFireTotemAnimations() { + // file size - 896x480 + // 5 frame rows, 14 frame columns + const int frame_width = 896 / 14; + const int frame_height = 480 / 5; + const int idle_animation_frames_count = 7; + const int disappear_animation_frames_count = 14; + const int appear_animation_frames_count = 8; + // row and column start from 0 + const int idle_animation_row = 1; + const int idle_animation_column = 0; + const int disappear_animation_row = 4; + const int disappear_animation_column = 0; + const int appear_animation_row = 0; + const int appear_animation_column = 0; + + P::kFireTotemAnimations = new QPixmap(":images/fire_totem.png"); + + P::kFireTotemIdle = CreateHorizontalFramesVector( + P::kFireTotemAnimations, + frame_width, + frame_height, + idle_animation_frames_count, + idle_animation_column * frame_width, + idle_animation_row * frame_height); + + P::kFireTotemDisappear = CreateHorizontalFramesVector( + P::kFireTotemAnimations, + frame_width, + frame_height, + disappear_animation_frames_count, + disappear_animation_column * frame_width, + disappear_animation_row * frame_height); + + P::kFireTotemAppearing = CreateHorizontalFramesVector( + P::kFireTotemAnimations, + frame_width, + frame_height, + appear_animation_frames_count, + appear_animation_column * frame_width, + appear_animation_row * frame_height); } diff --git a/Utilities/Resources/pixmap_loader.h b/Utilities/Resources/pixmap_loader.h index d1f3a8d..dd8eb75 100644 --- a/Utilities/Resources/pixmap_loader.h +++ b/Utilities/Resources/pixmap_loader.h @@ -1,18 +1,40 @@ #pragma once +#include + #include +#include "Utilities/animation.h" + class PixmapLoader { public: class Pixmaps { public: + // TODO(jansenin): maybe make this readonly static QPixmap* kBackground; static QPixmap* kTestBullet; static QPixmap* kTestMob; static QPixmap* kTestTower; static QPixmap* kTestTowerGun; static QPixmap* kTestTowerSlot; + + // For animations test + static QPixmap* kFireTotemAnimations; + static std::vector kFireTotemIdle; + static std::vector kFireTotemDisappear; + static std::vector kFireTotemAppearing; }; static void LoadPixmaps(); + + private: + static std::vector CreateHorizontalFramesVector( + QPixmap* source, + int frame_width, + int frame_height, + int frames_count, + int start_x, + int y); + + static void LoadFireTotemAnimations(); }; diff --git a/Utilities/animation.cpp b/Utilities/animation.cpp new file mode 100644 index 0000000..c4d3623 --- /dev/null +++ b/Utilities/animation.cpp @@ -0,0 +1,80 @@ +#include "animation.h" + +Animation::Animation(std::vector frames, Time time_between_frames) + : frames_(std::move(frames)), + time_between_frames_(time_between_frames), + time_to_next_frame_(time_between_frames), + frame_index_(0), + was_ended_during_previous_update(false) { + assert(!frames_.empty()); +} + +Animation::Animation(QPixmap* pixmap) + // doesn't matter what time between frames is, it just must be non-zero + : Animation(std::vector{pixmap},1_ms) {} + +void Animation::Tick(Time delta) { + time_to_next_frame_ -= delta; + if (time_to_next_frame_ < 0_ms) { + int frames_passed = + abs(time_to_next_frame_.ms() / time_between_frames_.ms()); + ++frames_passed; + time_to_next_frame_ += time_between_frames_ * frames_passed; + bool animation_ended = false; + if (frame_index_ + frames_passed >= frames_.size()) { + animation_ended = true; + } + SetIndex(frame_index_ + frames_passed); + was_ended_during_previous_update = animation_ended; + } +} + +const QPixmap* Animation::Frame() const { + return frames_.at(frame_index_); +} + +QPixmap* Animation::Frame() { + return frames_.at(frame_index_); +} + +void Animation::SetIndex(int index) { + was_ended_during_previous_update = false; + if (index >= frames_.size()) { + was_ended_during_previous_update = true; + } + frame_index_ = ((index % frames_.size()) + frames_.size()) % frames_.size(); +} + +void Animation::SetTimeBetweenFrames(Time time) { + time_between_frames_ = time; +} + +Time Animation::TimeBetweenFrames() const { + return time_between_frames_; +} + +Time Animation::TimeToNextFrame() const { + return time_to_next_frame_; +} + +int Animation::FrameIndex() const { + return frame_index_; +} + +void Animation::NextFrame() { + SetIndex(frame_index_ + 1); +} + +void Animation::Reset() { + time_to_next_frame_ = time_between_frames_; + SetIndex(0); + was_ended_during_previous_update = false; +} + +bool Animation::WasEndedDuringPreviousUpdate() const { + return was_ended_during_previous_update; +} + +int Animation::FrameCount() const { + return frames_.size(); +} diff --git a/Utilities/animation.h b/Utilities/animation.h new file mode 100644 index 0000000..0489770 --- /dev/null +++ b/Utilities/animation.h @@ -0,0 +1,35 @@ +#pragma once + +#include + +#include + +#include "Utilities/time.h" +#include "GameObjects/BasicObjects/Interface/tickable.h" + +class Animation : public Tickable { + public: + Animation(std::vector frames, Time time_between_frames); + explicit Animation(QPixmap* pixmap); + + void Tick(Time delta) override; + QPixmap* Frame(); + [[nodiscard]] const QPixmap* Frame() const; + void SetIndex(int index); + void SetTimeBetweenFrames(Time time); + void NextFrame(); + void Reset(); + + bool WasEndedDuringPreviousUpdate() const; + [[nodiscard]] int FrameCount() const; + [[nodiscard]] Time TimeBetweenFrames() const; + [[nodiscard]] Time TimeToNextFrame() const; + [[nodiscard]] int FrameIndex() const; + + protected: + std::vector frames_; + Time time_between_frames_; + Time time_to_next_frame_; + int frame_index_; + bool was_ended_during_previous_update; +}; diff --git a/Utilities/time.cpp b/Utilities/time.cpp index 513c71f..a90e7a6 100644 --- a/Utilities/time.cpp +++ b/Utilities/time.cpp @@ -48,3 +48,20 @@ Time& Time::operator-() { ms_ = -ms_; return *this; } + +Time Time::operator*(int rhs) const { + return Time(ms() * rhs); +} + +Time& Time::operator*=(int rhs) { + ms_ *= rhs; + return *this; +} + +Time operator*(int lhs, const Time& rhs) { + return rhs * lhs; +} + +Time operator "" _ms(unsigned long long ms) { + return Time(ms); +} diff --git a/Utilities/time.h b/Utilities/time.h index bbc0a9e..45164d0 100644 --- a/Utilities/time.h +++ b/Utilities/time.h @@ -17,12 +17,19 @@ class Time { Time operator+(const Time& rhs) const; // there is no check for negative time Time operator-(const Time& rhs) const; + Time operator*(int rhs) const; Time& operator+=(const Time& rhs); Time& operator-=(const Time& rhs); + Time& operator*=(int rhs); + friend Time operator*(int lhs, const Time& rhs); Time& operator-(); private: int ms_; }; + +Time operator*(int lhs, const Time& rhs); + +Time operator "" _ms(unsigned long long ms); diff --git a/constants.cpp b/constants.cpp index 844d05d..f8b336c 100644 --- a/constants.cpp +++ b/constants.cpp @@ -12,8 +12,8 @@ namespace Entities { const int kCircleAttackAreaApproximationPointsCount = 10; namespace TestTower { -const qreal kAttackRange = 200; -const Time kAttackCooldown = Time(1000); +const qreal kAttackRange = 300; +const Time kAttackCooldown = Time(100); } namespace TestMob { @@ -24,7 +24,7 @@ const int kHealth = 30; } namespace TestProjectile { -extern const Damage kDamage = Damage(10); -extern const qreal kSpeed = 100; +extern const Damage kDamage = Damage(3); +extern const qreal kSpeed = 500; } } // namespace Entities diff --git a/game_scene.cpp b/game_scene.cpp index 5d28dcd..fcbdf81 100644 --- a/game_scene.cpp +++ b/game_scene.cpp @@ -1,5 +1,7 @@ #include "game_scene.h" +#include + #include "GameObjects/BasicObjects/Interface/graphics_item.h" #include "game_view.h" #include "GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h" @@ -8,11 +10,7 @@ #include "GameObjects/BasicObjects/Entities/Projectiles/projectile.h" GameScene::GameScene(const QRectF& scene_rect, QObject* parent) - : QGraphicsScene(scene_rect, parent), - mobs_(std::set()), - towers_(std::set()), - tower_slots_(std::set()), - projectiles_(std::set()) {} + : QGraphicsScene(scene_rect, parent) {} GameView* GameScene::view() { auto result = dynamic_cast(QGraphicsScene::views().at(0)); @@ -20,75 +18,43 @@ GameView* GameScene::view() { return result; } -void GameScene::removeItem(GraphicsItem* item) { - auto mob = dynamic_cast(item); - if (mob != nullptr) { - mobs_.erase(mob); - } - - auto tower = dynamic_cast(item); - if (tower != nullptr) { - towers_.erase(tower); - } - - auto tower_slot = dynamic_cast(item); - if (tower_slot != nullptr) { - tower_slots_.erase(tower_slot); - } - - auto projectile = dynamic_cast(item); - if (projectile != nullptr) { - projectiles_.erase(projectile); +std::vector GameScene::Mobs() const { + std::vector result; + for (auto item : items()) { + if (auto mob = dynamic_cast(item)) { + result.push_back(mob); + } } - - QGraphicsScene::removeItem(item); -} - -void GameScene::clear() { - mobs_.clear(); - towers_.clear(); - tower_slots_.clear(); - projectiles_.clear(); - - QGraphicsScene::clear(); + return result; } -void GameScene::addItem(GraphicsItem* item) { - auto mob = dynamic_cast(item); - if (mob != nullptr) { - mobs_.erase(mob); - } - - auto tower = dynamic_cast(item); - if (tower != nullptr) { - towers_.erase(tower); +std::vector GameScene::Towers() const { + std::vector result; + for (auto item : items()) { + if (auto tower = dynamic_cast(item)) { + result.push_back(tower); + } } - - auto tower_slot = dynamic_cast(item); - if (tower_slot != nullptr) { - tower_slots_.erase(tower_slot); - } - - auto projectile = dynamic_cast(item); - if (projectile != nullptr) { - projectiles_.erase(projectile); - } - - QGraphicsScene::addItem(item); -} - -const std::set& GameScene::Mobs() const { - return mobs_; + return result; } -const std::set& GameScene::Towers() const { - return towers_; +std::vector GameScene::TowerSlots() const { + std::vector result; + for (auto item : items()) { + if (auto tower_slot = dynamic_cast(item)) { + result.push_back(tower_slot); + } + } + return result; } -const std::set& GameScene::TowerSlots() const { - return tower_slots_; +std::vector GameScene::Projectiles() const { + std::vector result; + for (auto item : items()) { + if (auto projectile = dynamic_cast(item)) { + result.push_back(projectile); + } + } + return result; } -const std::set& GameScene::Projectiles() const { - return projectiles_; -} diff --git a/game_scene.h b/game_scene.h index 28cbbd4..55adcde 100644 --- a/game_scene.h +++ b/game_scene.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include @@ -11,6 +11,7 @@ class Mob; class Tower; class TowerSlot; class Projectile; +class Entity; class GameScene : public QGraphicsScene { public: @@ -18,18 +19,8 @@ class GameScene : public QGraphicsScene { GameView* view(); - void removeItem(GraphicsItem* item); - void clear(); - void addItem(GraphicsItem* item); - - [[nodiscard]] const std::set& Mobs() const; - [[nodiscard]] const std::set& Towers() const; - [[nodiscard]] const std::set& TowerSlots() const; - [[nodiscard]] const std::set& Projectiles() const; - - private: - std::set mobs_; - std::set towers_; - std::set tower_slots_; - std::set projectiles_; + [[nodiscard]] std::vector Mobs() const; + [[nodiscard]] std::vector Towers() const; + [[nodiscard]] std::vector TowerSlots() const; + [[nodiscard]] std::vector Projectiles() const; }; From 630638a81a47da790ac3d8d48b59385982c48815 Mon Sep 17 00:00:00 2001 From: dzhen Date: Fri, 20 May 2022 19:45:00 +0300 Subject: [PATCH 05/11] code style --- GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp | 2 +- GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp | 3 --- GameObjects/BasicObjects/Entities/Mobs/test_mob.h | 2 +- GameObjects/BasicObjects/Entities/Towers/test_tower.cpp | 1 - GameObjects/BasicObjects/Interface/damageable.cpp | 2 +- GameObjects/BasicObjects/Interface/damageable.h | 2 +- Utilities/animation.h | 2 +- Utilities/route.cpp | 1 + 8 files changed, 6 insertions(+), 9 deletions(-) diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp index f494d26..ec04a26 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp @@ -1,5 +1,5 @@ #include "mob.h" -#include + #include std::vector routes{Route({ diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp index 350ac12..d6238b3 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp @@ -1,7 +1,5 @@ #include "test_mob.h" -#include - #include "Utilities/Resources/pixmap_loader.h" #include "constants.h" @@ -13,7 +11,6 @@ void TestMob::Tick(Time delta) { } if (is_destroying_ && animation_->WasEndedDuringPreviousUpdate()) { animation_->SetIndex(animation_->FrameCount() - 1); - std::cout << "test mob will be destroyed" << std::endl; deleteLater(); } diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h index 0c0db01..2cec260 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h @@ -12,7 +12,7 @@ class TestMob : public Mob { void Tick(Time delta) override; void ApplyDamage(Damage damage) override; - virtual ~TestMob(); + ~TestMob() override; protected: void keyPressEvent(QKeyEvent* event) override; diff --git a/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp b/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp index b0a79b0..df287c7 100644 --- a/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp +++ b/GameObjects/BasicObjects/Entities/Towers/test_tower.cpp @@ -1,6 +1,5 @@ #include "test_tower.h" -#include #include #include "GameObjects/BasicObjects/Entities/Projectiles/test_projectile.h" diff --git a/GameObjects/BasicObjects/Interface/damageable.cpp b/GameObjects/BasicObjects/Interface/damageable.cpp index 1f9c3a6..ebfbd77 100644 --- a/GameObjects/BasicObjects/Interface/damageable.cpp +++ b/GameObjects/BasicObjects/Interface/damageable.cpp @@ -15,6 +15,6 @@ void Damageable::SetHealth(int health) { health_ = health; } -int Damageable::GetHealth() { +int Damageable::GetHealth() const { return health_; } diff --git a/GameObjects/BasicObjects/Interface/damageable.h b/GameObjects/BasicObjects/Interface/damageable.h index daac308..2b581d9 100644 --- a/GameObjects/BasicObjects/Interface/damageable.h +++ b/GameObjects/BasicObjects/Interface/damageable.h @@ -6,7 +6,7 @@ class Damageable { public: explicit Damageable(int health); virtual void ApplyDamage(Damage damage); - int GetHealth(); + [[nodiscard]] int GetHealth() const; protected: int health_; diff --git a/Utilities/animation.h b/Utilities/animation.h index 0489770..b4c624e 100644 --- a/Utilities/animation.h +++ b/Utilities/animation.h @@ -20,7 +20,7 @@ class Animation : public Tickable { void NextFrame(); void Reset(); - bool WasEndedDuringPreviousUpdate() const; + [[nodiscard]] bool WasEndedDuringPreviousUpdate() const; [[nodiscard]] int FrameCount() const; [[nodiscard]] Time TimeBetweenFrames() const; [[nodiscard]] Time TimeToNextFrame() const; diff --git a/Utilities/route.cpp b/Utilities/route.cpp index ec22f25..e0f491c 100644 --- a/Utilities/route.cpp +++ b/Utilities/route.cpp @@ -1,4 +1,5 @@ #include "route.h" + #include bool Route::isEnd(Entity* entity) { From 75266296579cba267afe2136f6dfc152257a1325 Mon Sep 17 00:00:00 2001 From: dzhen Date: Fri, 20 May 2022 20:12:30 +0300 Subject: [PATCH 06/11] more code style --- GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp | 3 ++- GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp | 9 ++++++--- .../Entities/Projectiles/autoguided_projectile.cpp | 5 +++-- GameObjects/BasicObjects/Interface/entity.cpp | 2 +- Utilities/Resources/pixmap_loader.cpp | 5 +++-- Utilities/animation.cpp | 4 +++- Utilities/time.cpp | 2 +- Utilities/time.h | 2 +- 8 files changed, 20 insertions(+), 12 deletions(-) diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp index ec04a26..65d3a29 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp @@ -21,7 +21,8 @@ Mob::Mob(const VectorF& coordinates, Mob::Mob(const VectorF& coordinates, QPixmap* pixmap, int health, - qreal speed) : Mob(coordinates, new Animation(pixmap), health, speed) {} + qreal speed) + : Mob(coordinates, new Animation(pixmap), health, speed) {} qreal Mob::GetSpeed() const { return speed_; diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp index d6238b3..583ffc0 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp @@ -46,13 +46,16 @@ void TestMob::mousePressEvent(QGraphicsSceneMouseEvent* event) { TestMob::TestMob(const VectorF& coordinates) : Mob( coordinates, - // TODO(jansenin): Было бы лучше инициализировать анимации отдельно от моба + // TODO(jansenin): Было бы лучше инициализировать анимации отдельно + // от моба new Animation(PixmapLoader::Pixmaps::kFireTotemAppearing, 50_ms), Entities::TestMob::kHealth, 100), is_destroying_(false), - idle_animation_(new Animation(PixmapLoader::Pixmaps::kFireTotemIdle, 50_ms)), - disappearing_animation_(new Animation(PixmapLoader::Pixmaps::kFireTotemDisappear, 50_ms)), + idle_animation_( + new Animation(PixmapLoader::Pixmaps::kFireTotemIdle, 50_ms)), + disappearing_animation_( + new Animation(PixmapLoader::Pixmaps::kFireTotemDisappear, 50_ms)), appearing_animation_(animation_), is_creating_(true) { setFlag(QGraphicsItem::ItemIsFocusable, true); diff --git a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp index 3e690e6..0788072 100644 --- a/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp +++ b/GameObjects/BasicObjects/Entities/Projectiles/autoguided_projectile.cpp @@ -23,7 +23,7 @@ AutoguidedProjectile::AutoguidedProjectile( qreal speed, Damage damage) : AutoguidedProjectile( - coordinates,new Animation(pixmap), target, speed, damage) {} + coordinates, new Animation(pixmap), target, speed, damage) {} void AutoguidedProjectile::Tick(Time delta) { Projectile::Tick(delta); @@ -63,7 +63,8 @@ void AutoguidedProjectile::FindNewTargetOrDie() { } else { auto old_target = target_; for (auto new_target : scene()->Mobs()) { - if (new_target != target_ && VectorF(new_target->scenePos() - scenePos()).length() < 100) { + if (new_target != target_ && + VectorF(new_target->scenePos() - scenePos()).length() < 100) { SetTarget(new_target); break; } diff --git a/GameObjects/BasicObjects/Interface/entity.cpp b/GameObjects/BasicObjects/Interface/entity.cpp index 9fb111f..2376443 100644 --- a/GameObjects/BasicObjects/Interface/entity.cpp +++ b/GameObjects/BasicObjects/Interface/entity.cpp @@ -30,7 +30,7 @@ void Entity::paint(QPainter* painter, painter->save(); static QPen pen(QColor(0, 0, 255, 50)); painter->setPen(pen); - //painter->drawRect(boundingRect()); + // painter->drawRect(boundingRect()); painter->drawPixmap(Entity::boundingRect().toRect(), *animation_->Frame()); painter->restore(); } diff --git a/Utilities/Resources/pixmap_loader.cpp b/Utilities/Resources/pixmap_loader.cpp index c4a0524..50f393d 100644 --- a/Utilities/Resources/pixmap_loader.cpp +++ b/Utilities/Resources/pixmap_loader.cpp @@ -1,5 +1,7 @@ #include "pixmap_loader.h" +#include + using P = PixmapLoader::Pixmaps; QPixmap* P::kBackground; @@ -37,8 +39,7 @@ std::vector PixmapLoader::CreateHorizontalFramesVector( for (int i = 0 ; i < frames_count ; ++i) { int x = i * frame_width + start_x; QPixmap* frame = new QPixmap(std::move(source->copy( - QRect(x, y, frame_width, frame_height) - ))); + QRect(x, y, frame_width, frame_height)))); result.push_back(frame); } diff --git a/Utilities/animation.cpp b/Utilities/animation.cpp index c4d3623..55b7a4c 100644 --- a/Utilities/animation.cpp +++ b/Utilities/animation.cpp @@ -1,5 +1,7 @@ #include "animation.h" +#include + Animation::Animation(std::vector frames, Time time_between_frames) : frames_(std::move(frames)), time_between_frames_(time_between_frames), @@ -11,7 +13,7 @@ Animation::Animation(std::vector frames, Time time_between_frames) Animation::Animation(QPixmap* pixmap) // doesn't matter what time between frames is, it just must be non-zero - : Animation(std::vector{pixmap},1_ms) {} + : Animation(std::vector{pixmap}, 1_ms) {} void Animation::Tick(Time delta) { time_to_next_frame_ -= delta; diff --git a/Utilities/time.cpp b/Utilities/time.cpp index a90e7a6..8f32cc7 100644 --- a/Utilities/time.cpp +++ b/Utilities/time.cpp @@ -62,6 +62,6 @@ Time operator*(int lhs, const Time& rhs) { return rhs * lhs; } -Time operator "" _ms(unsigned long long ms) { +Time operator "" _ms(uint64_t ms) { return Time(ms); } diff --git a/Utilities/time.h b/Utilities/time.h index 45164d0..4d73c1d 100644 --- a/Utilities/time.h +++ b/Utilities/time.h @@ -32,4 +32,4 @@ class Time { Time operator*(int lhs, const Time& rhs); -Time operator "" _ms(unsigned long long ms); +Time operator "" _ms(uint64_t ms); From da4e98655dcb4a30a3da8acc738147ffbaa68623 Mon Sep 17 00:00:00 2001 From: dzhen Date: Fri, 20 May 2022 20:38:02 +0300 Subject: [PATCH 07/11] fix custom literal error --- Utilities/time.cpp | 2 +- Utilities/time.h | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Utilities/time.cpp b/Utilities/time.cpp index 8f32cc7..d0c7b9a 100644 --- a/Utilities/time.cpp +++ b/Utilities/time.cpp @@ -62,6 +62,6 @@ Time operator*(int lhs, const Time& rhs) { return rhs * lhs; } -Time operator "" _ms(uint64_t ms) { +Time operator "" _ms(unsigned long long int ms) { // NOLINT return Time(ms); } diff --git a/Utilities/time.h b/Utilities/time.h index 4d73c1d..d19365b 100644 --- a/Utilities/time.h +++ b/Utilities/time.h @@ -32,4 +32,9 @@ class Time { Time operator*(int lhs, const Time& rhs); -Time operator "" _ms(uint64_t ms); +// cpplint говорит, что unsigned long long int(Тип из си) нужно поменять на +// int16/int32/int64...(тип из C++), но в документации к пользовательским +// литералам сказано, что в них могут использоваться только определённые +// типы(и записи unsigned long long int в C++ я не нашёл, а это единственный +// целочисленный тип) +Time operator "" _ms(unsigned long long int ms); // NOLINT From d4a7ee268313828d074aca913476361e232e726b Mon Sep 17 00:00:00 2001 From: Artsiom S Date: Wed, 25 May 2022 18:20:16 +0300 Subject: [PATCH 08/11] Added level managing system, json-format level data storage. --- CMakeLists.txt | 6 +- Controller/controller.cpp | 54 +++++- Controller/controller.h | 4 + .../BasicObjects/Entities/Mobs/Basis/mob.cpp | 25 +-- .../BasicObjects/Entities/Mobs/Basis/mob.h | 3 + .../BasicObjects/Entities/Mobs/test_mob.cpp | 14 +- .../BasicObjects/Entities/Mobs/test_mob.h | 1 + Resources/Levels/Level1/level.json | 107 ++++++++++++ Resources/Levels/Level1/map.png | Bin 0 -> 265013 bytes Resources/resources.qrc | 3 + Utilities/Resources/pixmap_loader.cpp | 10 +- Utilities/Resources/pixmap_loader.h | 1 + Utilities/route.cpp | 1 - Utilities/route.h | 13 +- Utilities/time.cpp | 12 ++ Utilities/time.h | 4 + Utilities/utility.cpp | 13 ++ Utilities/utility.h | 3 + Utilities/wave.cpp | 6 +- Utilities/wave.h | 8 +- constants.cpp | 22 ++- constants.h | 14 +- level.cpp | 158 ++++++++++++++++++ level.h | 51 ++++++ 24 files changed, 489 insertions(+), 44 deletions(-) create mode 100644 Resources/Levels/Level1/level.json create mode 100644 Resources/Levels/Level1/map.png create mode 100644 Utilities/utility.cpp create mode 100644 Utilities/utility.h create mode 100644 level.cpp create mode 100644 level.h diff --git a/CMakeLists.txt b/CMakeLists.txt index aa74e70..321f5e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,8 @@ set(UTILITIES Utilities/route.cpp Utilities/wave.cpp wave_manager.cpp - Utilities/animation.cpp) + Utilities/animation.cpp + Utilities/utility.cpp) add_executable(Game ${RESOURCES} @@ -51,6 +52,7 @@ add_executable(Game Controller/controller.cpp game_view.cpp constants.cpp - game_scene.cpp) + game_scene.cpp + level.cpp) target_link_libraries(Game Qt::Core Qt::Gui Qt::Widgets) \ No newline at end of file diff --git a/Controller/controller.cpp b/Controller/controller.cpp index 1d40d80..dacb23b 100644 --- a/Controller/controller.cpp +++ b/Controller/controller.cpp @@ -12,9 +12,10 @@ Controller* Controller::instance; Controller::Controller() : - scene_(new GameScene(kSceneRect)), + scene_(new GameScene(Scene::kRect)), view_(new GameView(scene_)), - tick_timer_(new QTimer(this)) { + tick_timer_(new QTimer(this)), + level_(new Level(1)) { SetupScene(); LaunchTickTimer(); } @@ -27,8 +28,12 @@ GameScene* Controller::GetScene() const { return scene_; } +Level* Controller::GetLevel() const { + return level_; +} + void Controller::SetupScene() { - { // temporary code + /*{ // temporary code QPushButton* close_button = new QPushButton(); QGraphicsProxyWidget* close_button_proxy = scene_->addWidget(close_button); close_button_proxy->setGeometry(QRectF( @@ -51,6 +56,45 @@ void Controller::SetupScene() { qreal width = sceneRect.width(); qreal height = sceneRect.height(); + scene_->addLine( + x + width / 2, + y, + x + width / 2, + y + height, + QPen(Qt::blue)); + + scene_->addLine( + x, + y + 1, + x + width, + y + 1, + QPen(Qt::blue)); + + scene_->addLine( + x, + y + height / 2, + x + width, + y + height / 2, + QPen(Qt::blue)); + } // temporary code end*/ + { // temporary code + QPushButton* close_button = new QPushButton(); + QGraphicsProxyWidget* close_button_proxy = scene_->addWidget(close_button); + close_button_proxy->setGeometry(QRectF( + scene_->sceneRect().topRight() - VectorF{100, 0}, + scene_->sceneRect().topRight() + VectorF{0, 100})); + + close_button->setText("Close"); + QObject::connect(close_button, &QPushButton::clicked, &QApplication::exit); + + level_->AddObjectsToScene(scene_); + + QRectF sceneRect = scene_->sceneRect(); + qreal x = sceneRect.x(); + qreal y = sceneRect.y(); + qreal width = sceneRect.width(); + qreal height = sceneRect.height(); + scene_->addLine( x + width / 2, y, @@ -88,11 +132,13 @@ Controller* Controller::Instance() { } void Controller::TickAllTickables() { + Time delta = Time(1000 / 30); for (QGraphicsItem* graphics_item : scene_->items()) { if (Tickable* tickable = dynamic_cast(graphics_item)) { // TODO(jansenin): make time dependency(it // could have been more than 1000/30 ms) - tickable->Tick(Time(1000 / 30)); + tickable->Tick(delta); } } + level_->Tick(delta); } diff --git a/Controller/controller.h b/Controller/controller.h index 0a1d680..9a3efe3 100644 --- a/Controller/controller.h +++ b/Controller/controller.h @@ -7,6 +7,7 @@ #include "GameObjects/BasicObjects/Interface/entity.h" #include "game_view.h" #include "game_scene.h" +#include "level.h" class Controller : public QObject { Q_OBJECT @@ -15,6 +16,8 @@ class Controller : public QObject { [[nodiscard]] GameView* GetView() const; [[nodiscard]] GameScene* GetScene() const; + [[nodiscard]] Level* GetLevel() const; + public slots: void TickAllTickables(); @@ -30,4 +33,5 @@ class Controller : public QObject { GameScene* scene_; GameView* view_; QTimer* tick_timer_; + Level* level_; }; diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp index 65d3a29..59a315a 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp @@ -2,21 +2,12 @@ #include -std::vector routes{Route({ - QPointF(50, 50), - QPointF(300, 400), - QPointF(-100, -50)})}; // TODO(parfen01): move in level - Mob::Mob(const VectorF& coordinates, Animation* animation, int health, qreal speed) : Entity(coordinates, animation, health), - speed_(speed) { - route_ = &routes[0]; - route_->AddEntity(this); - Entity::setPos(route_->GetStart()); -} + speed_(speed) {} Mob::Mob(const VectorF& coordinates, QPixmap* pixmap, @@ -31,3 +22,17 @@ qreal Mob::GetSpeed() const { void Mob::SetSpeed(qreal speed) { speed_ = speed; } + +void Mob::SetRoute(Route* route) { + if (route == nullptr && route_ != nullptr) { + route_->RemoveEntity(this); + } + route_ = route; + if (route_ != nullptr) { + route_->AddEntity(this); + } +} + +void Mob::MoveToRouteStart() { + Entity::setPos(route_->GetStart()); +} diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h index 9a13d04..5d82ae5 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h @@ -18,6 +18,9 @@ class Mob : public Entity { int health, qreal speed = 0); + virtual void SetRoute(Route* route); + void MoveToRouteStart(); + [[nodiscard]] qreal GetSpeed() const; void SetSpeed(qreal speed); diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp index 583ffc0..042fe5a 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.cpp @@ -13,9 +13,10 @@ void TestMob::Tick(Time delta) { animation_->SetIndex(animation_->FrameCount() - 1); deleteLater(); } - - if (!is_creating_ && !Mob::route_->isEnd(this)) { - Mob::route_->Move(this, Mob::speed_ * delta.seconds()); + if (route_ != nullptr) { + if (!is_creating_ && !route_->isEnd(this)) { + route_->Move(this, speed_ * delta.seconds()); + } } } @@ -50,7 +51,7 @@ TestMob::TestMob(const VectorF& coordinates) // от моба new Animation(PixmapLoader::Pixmaps::kFireTotemAppearing, 50_ms), Entities::TestMob::kHealth, - 100), + 300), is_destroying_(false), idle_animation_( new Animation(PixmapLoader::Pixmaps::kFireTotemIdle, 50_ms)), @@ -77,3 +78,8 @@ void TestMob::ApplyDamage(Damage damage) { animation_ = disappearing_animation_; } } + +void TestMob::SetRoute(Route* route) { + Mob::SetRoute(route); + MoveToRouteStart(); +} diff --git a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h index 2cec260..98fc32b 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/test_mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/test_mob.h @@ -11,6 +11,7 @@ class TestMob : public Mob { void Tick(Time delta) override; void ApplyDamage(Damage damage) override; + void SetRoute(Route* route) override; ~TestMob() override; diff --git a/Resources/Levels/Level1/level.json b/Resources/Levels/Level1/level.json new file mode 100644 index 0000000..1db7177 --- /dev/null +++ b/Resources/Levels/Level1/level.json @@ -0,0 +1,107 @@ +{ + "startMoney": 100, + "towerSlotPositions": [ + { + "x": -495, + "y": -160 + }, + { + "x": -140, + "y": 60 + } + ], + "routes": [ + { + "points": [ + { + "x": -200, + "y": -200 + }, + { + "x": 600, + "y": 0 + }, + { + "x": 100, + "y": 100 + } + ] + }, + { + "points": [ + { + "x": -1000, + "y": -10 + }, + { + "x": -640, + "y": -10 + }, + { + "x": -640, + "y": -300 + }, + { + "x": -260, + "y": -310 + }, + { + "x": -260, + "y": 110 + }, + { + "x": 250, + "y": 110 + }, + { + "x": 250, + "y": -80 + }, + { + "x": 1000, + "y": -80 + } + ] + } + ], + "waves": [ + { + "startTimeRelativeToPrevWave": 0, + "spawnEntries": [ + { + "mobType": "TestMob", + "count": 4, + "startTime": 0, + "entryDuration": 1000, + "routeIndex": 1 + }, + { + "mobType": "TestMob", + "count": 4, + "startTime": 2000, + "entryDuration": 1000, + "routeIndex": 1 + }, + { + "mobType": "TestMob", + "count": 4, + "startTime": 4000, + "entryDuration": 1000, + "routeIndex": 1 + } + ] + }, + { + "startTimeRelativeToPrevWave": 5000, + "spawnEntries": [ + { + "mobType": "TestMob", + "count": 30, + "startTime": 0, + "entryDuration": 2000, + "routeIndex": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Levels/Level1/map.png b/Resources/Levels/Level1/map.png new file mode 100644 index 0000000000000000000000000000000000000000..a722dd4d5707745703071f7d1f646ebdcc3dc76b GIT binary patch literal 265013 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

>&TB^8Xz0cN&@;xVnqvyKBs3+8Y*Fu5C~ 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%0A>F{{(2YiM@`FI|+9 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%0AN&!1+@9dv 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/test_tower_gun.png images/test_tower_slot.png images/fire_totem.png + + Levels/Level1/map.png + Levels/Level1/level.json \ No newline at end of file diff --git a/Utilities/Resources/pixmap_loader.cpp b/Utilities/Resources/pixmap_loader.cpp index 50f393d..aac4ef7 100644 --- a/Utilities/Resources/pixmap_loader.cpp +++ b/Utilities/Resources/pixmap_loader.cpp @@ -1,7 +1,8 @@ -#include "pixmap_loader.h" - #include +#include "constants.h" +#include "pixmap_loader.h" + using P = PixmapLoader::Pixmaps; QPixmap* P::kBackground; @@ -10,6 +11,7 @@ QPixmap* P::kTestMob; QPixmap* P::kTestTower; QPixmap* P::kTestTowerGun; QPixmap* P::kTestTowerSlot; +std::vector P::kLevelMaps; QPixmap* P::kFireTotemAnimations; std::vector P::kFireTotemIdle; @@ -23,6 +25,10 @@ void PixmapLoader::LoadPixmaps() { P::kTestTower = new QPixmap(":images/test_tower.png"); P::kTestTowerGun = new QPixmap(":images/test_tower_gun.png"); P::kTestTowerSlot = new QPixmap(":images/test_tower_slot.png"); + for (int i = 1; i <= LevelData::kLevelsCount; ++i) { + P::kLevelMaps.push_back(new QPixmap(":Levels/Level" + + QString::fromStdString(std::to_string(i)) + "/map.png")); + } LoadFireTotemAnimations(); } diff --git a/Utilities/Resources/pixmap_loader.h b/Utilities/Resources/pixmap_loader.h index dd8eb75..349bd80 100644 --- a/Utilities/Resources/pixmap_loader.h +++ b/Utilities/Resources/pixmap_loader.h @@ -17,6 +17,7 @@ class PixmapLoader { static QPixmap* kTestTower; static QPixmap* kTestTowerGun; static QPixmap* kTestTowerSlot; + static std::vector kLevelMaps; // For animations test static QPixmap* kFireTotemAnimations; diff --git a/Utilities/route.cpp b/Utilities/route.cpp index e0f491c..b572fcc 100644 --- a/Utilities/route.cpp +++ b/Utilities/route.cpp @@ -35,4 +35,3 @@ VectorF Route::GetStart() const { void Route::RemoveEntity(Entity* entity) { entity_indexes_.erase(entity); } - diff --git a/Utilities/route.h b/Utilities/route.h index f6ce593..533250f 100644 --- a/Utilities/route.h +++ b/Utilities/route.h @@ -1,15 +1,16 @@ #pragma once -#include "../GameObjects/BasicObjects/Interface/entity.h" -#include "../Utilities/vector_f.h" -#include + #include #include -static constexpr qreal kThreshold = 2; +#include "GameObjects/BasicObjects/Interface/entity.h" +#include "Utilities/vector_f.h" + +static constexpr qreal kThreshold = 5; class Route { public: - explicit Route(const std::vector& points) : + explicit Route(const std::vector& points) : points_(points) {} void Move(Entity* entity, qreal distance); void AddEntity(Entity* entity); @@ -19,6 +20,6 @@ class Route { private: void ChooseIndex(Entity* entity); - std::vector points_; + std::vector points_; std::map entity_indexes_{}; }; diff --git a/Utilities/time.cpp b/Utilities/time.cpp index d0c7b9a..30864e8 100644 --- a/Utilities/time.cpp +++ b/Utilities/time.cpp @@ -62,6 +62,18 @@ Time operator*(int lhs, const Time& rhs) { return rhs * lhs; } +Time Time::operator*(double rhs) const { + return Time(ms_ * rhs); +} + +Time Time::operator*=(double rhs) const { + return Time(ms_ * rhs); +} + +Time operator*(double lhs, const Time& rhs) { + return Time(rhs.ms_ * lhs); +} + Time operator "" _ms(unsigned long long int ms) { // NOLINT return Time(ms); } diff --git a/Utilities/time.h b/Utilities/time.h index dd2ddec..39bb8bc 100644 --- a/Utilities/time.h +++ b/Utilities/time.h @@ -18,11 +18,14 @@ class Time { // there is no check for negative time Time operator-(const Time& rhs) const; Time operator*(int rhs) const; + Time operator*(double rhs) const; Time& operator+=(const Time& rhs); Time& operator-=(const Time& rhs); Time& operator*=(int rhs); + Time operator*=(double rhs) const; friend Time operator*(int lhs, const Time& rhs); + friend Time operator*(double lhs, const Time& rhs); Time& operator-(); @@ -31,6 +34,7 @@ class Time { }; Time operator*(int lhs, const Time& rhs); +Time operator*(double lhs, const Time& rhs); // cpplint говорит, что unsigned long long int(Тип из си) нужно поменять на // int16/int32/int64...(тип из C++), но в документации к пользовательским diff --git a/Utilities/utility.cpp b/Utilities/utility.cpp new file mode 100644 index 0000000..2c703db --- /dev/null +++ b/Utilities/utility.cpp @@ -0,0 +1,13 @@ +#include + +#include "GameObjects/BasicObjects/Entities/Mobs/test_mob.h" +#include "GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.h" +#include "constants.h" + +Mob* CreateMobFromType(QString type) { + if (type == Entities::kTestMobId) { + return new TestMob(); + } else { + throw std::invalid_argument("There is no such id: " + type.toStdString()); + } +} \ No newline at end of file diff --git a/Utilities/utility.h b/Utilities/utility.h new file mode 100644 index 0000000..bf1efda --- /dev/null +++ b/Utilities/utility.h @@ -0,0 +1,3 @@ +#pragma once + +Mob* CreateMobFromType(QString type); \ No newline at end of file diff --git a/Utilities/wave.cpp b/Utilities/wave.cpp index ccddd6e..b31d894 100644 --- a/Utilities/wave.cpp +++ b/Utilities/wave.cpp @@ -1,15 +1,17 @@ #include "wave.h" +#include "Controller/controller.h" + void Wave::RemoveMobFromWave(Mob* mob) { mobs_time_to_spawn_.erase(mob); } void Wave::Tick(Time delta) { if (IsStarted()) { - for (auto i : mobs_time_to_spawn_) { + for (auto& i : mobs_time_to_spawn_) { i.second -= delta; if (i.second.ms() <= 0) { - // TODO(parfen01): move mob to map before removing from wave + Controller::Instance()->GetScene()->addItem(i.first); RemoveMobFromWave(i.first); } } diff --git a/Utilities/wave.h b/Utilities/wave.h index 116cce3..59dec71 100644 --- a/Utilities/wave.h +++ b/Utilities/wave.h @@ -1,14 +1,16 @@ #pragma once + #include "GameObjects/BasicObjects/Interface/tickable.h" #include "GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h" #include #include -class Wave : public Tickable { +class Wave { public: - explicit Wave(Time ms, std::map&& mobs) : time_to_start_(ms), + explicit Wave(Time time, std::map&& mobs) : time_to_start_(time), mobs_time_to_spawn_(std::move(mobs)) {} - void Tick(Time delta) override; + void Tick(Time delta); + // TODO(jansenin): we need to use it somewhere void RemoveMobFromWave(Mob*); [[nodiscard]] bool IsStarted() const; [[nodiscard]] bool IsEnded() const; diff --git a/constants.cpp b/constants.cpp index f8b336c..3a22bed 100644 --- a/constants.cpp +++ b/constants.cpp @@ -1,15 +1,23 @@ #include "constants.h" -const qreal kSceneWidth = 1920; -const qreal kSceneHeight = 1080; -const QRectF kSceneRect{ - -kSceneWidth/2, - -kSceneHeight/2, - kSceneWidth, - kSceneHeight}; +namespace Scene { +const qreal kWidth = 1920; +const qreal kHeight = 1080; +const QRectF kRect{ + -kWidth / 2, + -kHeight / 2, + kWidth, + kHeight}; +extern const qreal kMapTextureZValue = -100; +} + +namespace LevelData { +extern const int kLevelsCount = 1; +} namespace Entities { const int kCircleAttackAreaApproximationPointsCount = 10; +extern const QString kTestMobId = "TestMob"; namespace TestTower { const qreal kAttackRange = 300; diff --git a/constants.h b/constants.h index 3fe716e..cd91bae 100644 --- a/constants.h +++ b/constants.h @@ -5,12 +5,20 @@ #include "Utilities/time.h" #include -extern const qreal kSceneWidth; -extern const qreal kSceneHeight; -extern const QRectF kSceneRect; +namespace Scene { +extern const qreal kWidth; +extern const qreal kHeight; +extern const QRectF kRect; +extern const qreal kMapTextureZValue; +} + +namespace LevelData { +extern const int kLevelsCount; +} namespace Entities { extern const int kCircleAttackAreaApproximationPointsCount; +extern const QString kTestMobId; namespace TestTower { extern const qreal kAttackRange; diff --git a/level.cpp b/level.cpp new file mode 100644 index 0000000..64266ea --- /dev/null +++ b/level.cpp @@ -0,0 +1,158 @@ +#include "level.h" + +#include +#include +#include + +#include "GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.h" +#include "Utilities/utility.h" +#include "Utilities/Resources/pixmap_loader.h" +#include "constants.h" + +Level::Level(int level_number) : level_number_(level_number) { + QFile file(":Levels/Level" + + QString::fromStdString(std::to_string(level_number)) + "/level.json"); + + if (!file.open(QIODevice::ReadOnly)) { + throw std::invalid_argument("There is no such level"); + } + + QByteArray level_data = file.readAll(); + QJsonParseError error; + QJsonDocument document = QJsonDocument::fromJson(level_data, &error); + if (error.error != QJsonParseError::NoError) { + throw std::invalid_argument( + "Level json parse error: " + error.errorString().toStdString()); + } + + QJsonObject root = document.object(); + startMoney_ = root.value("startMoney").toInt(); + + QJsonArray tower_slot_positions = root.value("towerSlotPositions").toArray(); + tower_slots_.reserve(tower_slot_positions.size()); + for (auto tower_slot_position : tower_slot_positions) { + int tower_slot_x; + int tower_slot_y; + QJsonObject tower_slot_pos_object = tower_slot_position.toObject(); + tower_slot_x = tower_slot_pos_object.value("x").toInt(); + tower_slot_y = tower_slot_pos_object.value("y").toInt(); + + tower_slots_.push_back( + new TestTowerSlot(VectorF(tower_slot_x, tower_slot_y))); + } + + QJsonArray routes = root.value("routes").toArray(); + routes_.reserve(routes.size()); + for (auto route : routes) { + QJsonArray points = route.toObject().value("points").toArray(); + std::vector points_for_route; + points_for_route.reserve(points.size()); + for (auto point : points) { + QJsonObject point_object = point.toObject(); + int x = point_object.value("x").toInt(); + int y = point_object.value("y").toInt(); + points_for_route.emplace_back(x, y); + } + routes_.push_back(new Route(points_for_route)); + } + + QJsonArray waves = root.value("waves").toArray(); + waves_.reserve(waves_.size()); + + Time previous_wave_end_time(0); + for (auto json_wave : waves) { + QJsonObject wave_object = json_wave.toObject(); + Time current_wave_start_time = previous_wave_end_time + + Time(wave_object.value("startTimeRelativeToPrevWave").toInt()); + previous_wave_end_time = current_wave_start_time; + QJsonArray spawn_entries = wave_object.value("spawnEntries").toArray(); + Time wave_duration(0); + std::map mobs; + for (auto json_spawn_entry : spawn_entries) { + QJsonObject object = json_spawn_entry.toObject(); + SpawnEntry spawn_entry(object); + wave_duration = Time(std::max(spawn_entry.GetEntryEndTime().ms(), wave_duration.ms())); + spawn_entry.AddMobsToWave(mobs, routes_); + } + previous_wave_end_time += wave_duration; + Wave* wave = new Wave(current_wave_start_time, std::move(mobs)); + waves_.push_back(wave); + } +} + +void Level::AddObjectsToScene(GameScene* scene) { + QPixmap* map_pixmap = + PixmapLoader::Pixmaps::kLevelMaps.at(level_number_ - 1); + auto map_pixmap_item = scene->addPixmap(*map_pixmap); + map_pixmap_item->setZValue(Scene::kMapTextureZValue); + + qreal pixmap_width = map_pixmap->width(); + qreal pixmap_height = map_pixmap->height(); + + QTransform transform; + QRectF pixmap_rect( + -pixmap_width / 2.0, -pixmap_height / 2.0, + pixmap_width, pixmap_height); + transform.scale( + Scene::kWidth / pixmap_width, + Scene::kHeight / pixmap_height); + pixmap_rect = transform.mapRect(pixmap_rect); + map_pixmap_item->setPos(pixmap_rect.topLeft()); + map_pixmap_item->setTransform(transform); + + for (auto tower_slot : tower_slots_) { + scene->addItem(tower_slot); + } +} + +void Level::Tick(Time delta) { + for (auto wave : waves_) { + wave->Tick(delta); + } +} + +const std::vector& Level::GetRoutes() const { + return routes_; +} + +const std::vector& Level::GetWaves() { + return waves_; +} + +int Level::GetLevelNumber() const { + return level_number_; +} + +int Level::GetStartMoney() const { + return startMoney_; +} + +Level::SpawnEntry::SpawnEntry(QJsonObject& spawn_root_object) + : start_time_(Time(spawn_root_object.value("startTime").toInt())), + mob_type_(spawn_root_object.value("mobType").toString()), + count_(spawn_root_object.value("count").toInt()), + entry_duration_(Time(spawn_root_object.value("entryDuration").toInt())), + route_index_(spawn_root_object.value("routeIndex").toInt()) + {} + +void Level::SpawnEntry::AddMobsToWave( + std::map& mobs, + const std::vector& routes) const { + if (count_ == 1) { + Mob* mob = CreateMobFromType(mob_type_); + mob->SetRoute(routes.at(route_index_)); + mobs.insert(std::make_pair(mob, start_time_)); + } + for (int i = 0; i < count_; ++i) { + Time spawn_time = start_time_; + spawn_time += entry_duration_ * ((1.0 * i) / (count_ - 1)); + + Mob* mob = CreateMobFromType(mob_type_); + mob->SetRoute(routes.at(route_index_)); + mobs.insert(std::make_pair(mob, spawn_time)); + } +} + +Time Level::SpawnEntry::GetEntryEndTime() const { + return start_time_ + entry_duration_; +} diff --git a/level.h b/level.h new file mode 100644 index 0000000..c134c18 --- /dev/null +++ b/level.h @@ -0,0 +1,51 @@ +#ifndef LEVEL_H +#define LEVEL_H + +#include + +#include + +#include "Utilities/vector_f.h" +#include "GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h" +#include "GameObjects/BasicObjects/Entities/Towers/TowerSlots/tower_slot.h" +#include "Utilities/route.h" +#include "Utilities/wave.h" + +class Level { + public: + explicit Level(int level_number); + + void AddObjectsToScene(GameScene* scene); + void Tick(Time delta); + + [[nodiscard]] const std::vector& GetRoutes() const; + [[nodiscard]] const std::vector& GetWaves(); + [[nodiscard]] int GetLevelNumber() const; + [[nodiscard]] int GetStartMoney() const; + + private: + class SpawnEntry { + public: + explicit SpawnEntry(QJsonObject& spawn_root_object); + + [[nodiscard]] Time GetEntryEndTime() const; + void AddMobsToWave( + std::map& mobs, + const std::vector& routes) const; + + private: + Time start_time_; + QString mob_type_; + int count_; + Time entry_duration_; + int route_index_; + }; + + std::vector tower_slots_{}; + std::vector routes_{}; + std::vector waves_{}; + int level_number_; + int startMoney_; +}; + +#endif //LEVEL_H From 6ec67fc92b57fa415d4160271f43fb291ab98bb3 Mon Sep 17 00:00:00 2001 From: Artsiom S Date: Fri, 27 May 2022 13:09:51 +0300 Subject: [PATCH 09/11] Fixed cpplint. --- Controller/controller.h | 1 + Utilities/Resources/pixmap_loader.cpp | 6 +++--- Utilities/utility.cpp | 3 ++- Utilities/utility.h | 2 +- level.cpp | 17 +++++++++++------ level.h | 12 +++++------- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Controller/controller.h b/Controller/controller.h index 9a3efe3..23cda6e 100644 --- a/Controller/controller.h +++ b/Controller/controller.h @@ -11,6 +11,7 @@ class Controller : public QObject { Q_OBJECT + public: static Controller* Instance(); diff --git a/Utilities/Resources/pixmap_loader.cpp b/Utilities/Resources/pixmap_loader.cpp index aac4ef7..db3e2ad 100644 --- a/Utilities/Resources/pixmap_loader.cpp +++ b/Utilities/Resources/pixmap_loader.cpp @@ -26,10 +26,10 @@ void PixmapLoader::LoadPixmaps() { P::kTestTowerGun = new QPixmap(":images/test_tower_gun.png"); P::kTestTowerSlot = new QPixmap(":images/test_tower_slot.png"); for (int i = 1; i <= LevelData::kLevelsCount; ++i) { - P::kLevelMaps.push_back(new QPixmap(":Levels/Level" + - QString::fromStdString(std::to_string(i)) + "/map.png")); + P::kLevelMaps.push_back(new QPixmap(":Levels/Level" + + QString::number(i) + + "/map.png")); } - LoadFireTotemAnimations(); } diff --git a/Utilities/utility.cpp b/Utilities/utility.cpp index 2c703db..0db0c8c 100644 --- a/Utilities/utility.cpp +++ b/Utilities/utility.cpp @@ -3,6 +3,7 @@ #include "GameObjects/BasicObjects/Entities/Mobs/test_mob.h" #include "GameObjects/BasicObjects/Entities/Towers/TowerSlots/test_tower_slot.h" #include "constants.h" +#include "utility.h" Mob* CreateMobFromType(QString type) { if (type == Entities::kTestMobId) { @@ -10,4 +11,4 @@ Mob* CreateMobFromType(QString type) { } else { throw std::invalid_argument("There is no such id: " + type.toStdString()); } -} \ No newline at end of file +} diff --git a/Utilities/utility.h b/Utilities/utility.h index bf1efda..24f1d1d 100644 --- a/Utilities/utility.h +++ b/Utilities/utility.h @@ -1,3 +1,3 @@ #pragma once -Mob* CreateMobFromType(QString type); \ No newline at end of file +Mob* CreateMobFromType(QString type); diff --git a/level.cpp b/level.cpp index 64266ea..d549541 100644 --- a/level.cpp +++ b/level.cpp @@ -1,5 +1,9 @@ #include "level.h" +#include +#include +#include + #include #include #include @@ -71,8 +75,9 @@ Level::Level(int level_number) : level_number_(level_number) { for (auto json_spawn_entry : spawn_entries) { QJsonObject object = json_spawn_entry.toObject(); SpawnEntry spawn_entry(object); - wave_duration = Time(std::max(spawn_entry.GetEntryEndTime().ms(), wave_duration.ms())); - spawn_entry.AddMobsToWave(mobs, routes_); + wave_duration = Time( + std::max(spawn_entry.GetEntryEndTime().ms(), wave_duration.ms())); + spawn_entry.AddMobsToWave(&mobs, routes_); } previous_wave_end_time += wave_duration; Wave* wave = new Wave(current_wave_start_time, std::move(mobs)); @@ -127,7 +132,7 @@ int Level::GetStartMoney() const { return startMoney_; } -Level::SpawnEntry::SpawnEntry(QJsonObject& spawn_root_object) +Level::SpawnEntry::SpawnEntry(const QJsonObject& spawn_root_object) : start_time_(Time(spawn_root_object.value("startTime").toInt())), mob_type_(spawn_root_object.value("mobType").toString()), count_(spawn_root_object.value("count").toInt()), @@ -136,12 +141,12 @@ Level::SpawnEntry::SpawnEntry(QJsonObject& spawn_root_object) {} void Level::SpawnEntry::AddMobsToWave( - std::map& mobs, + std::map* mobs, const std::vector& routes) const { if (count_ == 1) { Mob* mob = CreateMobFromType(mob_type_); mob->SetRoute(routes.at(route_index_)); - mobs.insert(std::make_pair(mob, start_time_)); + mobs->insert(std::make_pair(mob, start_time_)); } for (int i = 0; i < count_; ++i) { Time spawn_time = start_time_; @@ -149,7 +154,7 @@ void Level::SpawnEntry::AddMobsToWave( Mob* mob = CreateMobFromType(mob_type_); mob->SetRoute(routes.at(route_index_)); - mobs.insert(std::make_pair(mob, spawn_time)); + mobs->insert(std::make_pair(mob, spawn_time)); } } diff --git a/level.h b/level.h index c134c18..ce54724 100644 --- a/level.h +++ b/level.h @@ -1,6 +1,6 @@ -#ifndef LEVEL_H -#define LEVEL_H +#pragma once +#include #include #include @@ -26,11 +26,11 @@ class Level { private: class SpawnEntry { public: - explicit SpawnEntry(QJsonObject& spawn_root_object); + explicit SpawnEntry(const QJsonObject& spawn_root_object); [[nodiscard]] Time GetEntryEndTime() const; void AddMobsToWave( - std::map& mobs, + std::map* mobs, const std::vector& routes) const; private: @@ -46,6 +46,4 @@ class Level { std::vector waves_{}; int level_number_; int startMoney_; -}; - -#endif //LEVEL_H +}; \ No newline at end of file From 9547dbd7a18241fe83e62f501cef2eca27971e36 Mon Sep 17 00:00:00 2001 From: Artsiom S Date: Fri, 27 May 2022 13:13:03 +0300 Subject: [PATCH 10/11] Fixed cpplint (second time due to self-destroy of blank line). --- level.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/level.h b/level.h index ce54724..dc5246c 100644 --- a/level.h +++ b/level.h @@ -46,4 +46,4 @@ class Level { std::vector waves_{}; int level_number_; int startMoney_; -}; \ No newline at end of file +}; From cc00e2e597dda9a1a0244850afbff1dedccd8482 Mon Sep 17 00:00:00 2001 From: Artsiom S Date: Wed, 1 Jun 2022 17:45:16 +0300 Subject: [PATCH 11/11] Fixed cpplint. --- GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp | 6 ------ GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h | 1 - Utilities/time.h | 1 - 3 files changed, 8 deletions(-) diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp index dc8de1d..59a315a 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.cpp @@ -9,12 +9,6 @@ Mob::Mob(const VectorF& coordinates, : Entity(coordinates, animation, health), speed_(speed) {} -Mob::Mob(const VectorF& coordinates, - Animation* animation, - int health, - qreal speed) - : Mob(coordinates, new Animation(pixmap), health, speed) {} - Mob::Mob(const VectorF& coordinates, QPixmap* pixmap, int health, diff --git a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h index 5d82ae5..8a4305e 100644 --- a/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h +++ b/GameObjects/BasicObjects/Entities/Mobs/Basis/mob.h @@ -20,7 +20,6 @@ class Mob : public Entity { virtual void SetRoute(Route* route); void MoveToRouteStart(); - [[nodiscard]] qreal GetSpeed() const; void SetSpeed(qreal speed); diff --git a/Utilities/time.h b/Utilities/time.h index 0192fbc..263ea50 100644 --- a/Utilities/time.h +++ b/Utilities/time.h @@ -19,7 +19,6 @@ class Time { Time operator-(const Time& rhs) const; Time operator*(int rhs) const; Time operator*(double rhs) const; - Time& operator+=(const Time& rhs); Time& operator-=(const Time& rhs); Time& operator*=(int rhs);