From 2f5c086ef9235c5a0a8730dd83d4557ff77ec910 Mon Sep 17 00:00:00 2001 From: Sulimov Igor Andreevich <igansulimov@edu.hse.ru> Date: Mon, 24 Mar 2025 03:36:58 +0300 Subject: [PATCH] Start of Pacman entity --- CMakeLists.txt | 2 +- include/MazeContent/{ => Buildings}/IRoomSide.h | 0 include/MazeContent/{ => Buildings}/Maze.h | 2 +- include/MazeContent/{ => Buildings}/Pass.h | 0 include/MazeContent/{ => Buildings}/Room.h | 2 +- include/MazeContent/{ => Buildings}/Wall.h | 2 +- include/MazeContent/Entities/IDynamicEntity.hpp | 1 + include/MazeContent/{ => Entities}/IEntity.h | 6 +++--- include/MazeContent/Entities/IStaticEntity.h | 1 + include/MazeContent/Entities/Pacman.h | 8 ++++++++ source/Maze_Content/{ => Buildings}/Maze.cpp | 2 +- source/Maze_Content/{ => Buildings}/Room.cpp | 2 +- source/Maze_Content/{ => Buildings}/Wall.cpp | 2 +- 13 files changed, 20 insertions(+), 10 deletions(-) rename include/MazeContent/{ => Buildings}/IRoomSide.h (100%) rename include/MazeContent/{ => Buildings}/Maze.h (86%) rename include/MazeContent/{ => Buildings}/Pass.h (100%) rename include/MazeContent/{ => Buildings}/Room.h (92%) rename include/MazeContent/{ => Buildings}/Wall.h (88%) create mode 100644 include/MazeContent/Entities/IDynamicEntity.hpp rename include/MazeContent/{ => Entities}/IEntity.h (50%) create mode 100644 include/MazeContent/Entities/IStaticEntity.h create mode 100644 include/MazeContent/Entities/Pacman.h rename source/Maze_Content/{ => Buildings}/Maze.cpp (75%) rename source/Maze_Content/{ => Buildings}/Room.cpp (96%) rename source/Maze_Content/{ => Buildings}/Wall.cpp (98%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e3e750c..0cad6a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ add_executable(pac-man "source/Draw/Button.cpp" "source/Draw/MyFont.cpp" "source/Commands/ExitCommand.cpp" - "source/Maze_Content/Room.cpp" + "source/Maze_Content/Buildings/Room.cpp" ) diff --git a/include/MazeContent/IRoomSide.h b/include/MazeContent/Buildings/IRoomSide.h similarity index 100% rename from include/MazeContent/IRoomSide.h rename to include/MazeContent/Buildings/IRoomSide.h diff --git a/include/MazeContent/Maze.h b/include/MazeContent/Buildings/Maze.h similarity index 86% rename from include/MazeContent/Maze.h rename to include/MazeContent/Buildings/Maze.h index a7f099c..83ace80 100644 --- a/include/MazeContent/Maze.h +++ b/include/MazeContent/Buildings/Maze.h @@ -1,6 +1,6 @@ #pragma once -#include "Room.h" +#include "MazeContent/Buildings/Room.h" class Maze: public IDrawable { public: diff --git a/include/MazeContent/Pass.h b/include/MazeContent/Buildings/Pass.h similarity index 100% rename from include/MazeContent/Pass.h rename to include/MazeContent/Buildings/Pass.h diff --git a/include/MazeContent/Room.h b/include/MazeContent/Buildings/Room.h similarity index 92% rename from include/MazeContent/Room.h rename to include/MazeContent/Buildings/Room.h index 5362f54..df6c5b9 100644 --- a/include/MazeContent/Room.h +++ b/include/MazeContent/Buildings/Room.h @@ -1,6 +1,6 @@ #pragma once -#include "IRoomSide.h" +#include "MazeContent/Buildings/IRoomSide.h" class Room: public IDrawable { public: diff --git a/include/MazeContent/Wall.h b/include/MazeContent/Buildings/Wall.h similarity index 88% rename from include/MazeContent/Wall.h rename to include/MazeContent/Buildings/Wall.h index dd6a544..d4dbe70 100644 --- a/include/MazeContent/Wall.h +++ b/include/MazeContent/Buildings/Wall.h @@ -1,6 +1,6 @@ #pragma once -#include "Room.h" +#include "MazeContent/Buildings/Room.h" class Wall : public IRoomSide { public: diff --git a/include/MazeContent/Entities/IDynamicEntity.hpp b/include/MazeContent/Entities/IDynamicEntity.hpp new file mode 100644 index 0000000..7b9637e --- /dev/null +++ b/include/MazeContent/Entities/IDynamicEntity.hpp @@ -0,0 +1 @@ +#pragma once \ No newline at end of file diff --git a/include/MazeContent/IEntity.h b/include/MazeContent/Entities/IEntity.h similarity index 50% rename from include/MazeContent/IEntity.h rename to include/MazeContent/Entities/IEntity.h index 0f5725b..14e106d 100644 --- a/include/MazeContent/IEntity.h +++ b/include/MazeContent/Entities/IEntity.h @@ -1,11 +1,11 @@ #pragma once -#include "Draw/IPreparable.h" +#include "MazeContent/Buildings/Room.h" class IEntity: public IPreparable { public: - virtual void set_location(Room ptr_room) = 0; ///@todo - virtual Room get_location() = 0; ///@todo + void set_location(Room* ptr_room); ///@todo + Room* get_location(); ///@todo virtual ~IEntity() = default; protected: Room* m_ptr_room{ nullptr }; diff --git a/include/MazeContent/Entities/IStaticEntity.h b/include/MazeContent/Entities/IStaticEntity.h new file mode 100644 index 0000000..7b9637e --- /dev/null +++ b/include/MazeContent/Entities/IStaticEntity.h @@ -0,0 +1 @@ +#pragma once \ No newline at end of file diff --git a/include/MazeContent/Entities/Pacman.h b/include/MazeContent/Entities/Pacman.h new file mode 100644 index 0000000..719d931 --- /dev/null +++ b/include/MazeContent/Entities/Pacman.h @@ -0,0 +1,8 @@ +#pragma once + +#include "IEntity.h" + +class Pacman: public IEntity { +public: + void move(Room::Direction direction); ///@todo +}; \ No newline at end of file diff --git a/source/Maze_Content/Maze.cpp b/source/Maze_Content/Buildings/Maze.cpp similarity index 75% rename from source/Maze_Content/Maze.cpp rename to source/Maze_Content/Buildings/Maze.cpp index 8f80fe6..eae381e 100644 --- a/source/Maze_Content/Maze.cpp +++ b/source/Maze_Content/Buildings/Maze.cpp @@ -1,4 +1,4 @@ -#include "MazeContent/Maze.h" +#include "MazeContent/Buildings/Maze.h" void Maze::draw_into(sf::RenderWindow& window) const { for (const auto& room : m_rooms) diff --git a/source/Maze_Content/Room.cpp b/source/Maze_Content/Buildings/Room.cpp similarity index 96% rename from source/Maze_Content/Room.cpp rename to source/Maze_Content/Buildings/Room.cpp index 78c3aad..7e105bc 100644 --- a/source/Maze_Content/Room.cpp +++ b/source/Maze_Content/Buildings/Room.cpp @@ -1,4 +1,4 @@ -#include "MazeContent/Room.h" +#include "MazeContent/Buildings/Room.h" #include "Config.h" Room::Room(float size) : m_rectangle{ {size, size} } { diff --git a/source/Maze_Content/Wall.cpp b/source/Maze_Content/Buildings/Wall.cpp similarity index 98% rename from source/Maze_Content/Wall.cpp rename to source/Maze_Content/Buildings/Wall.cpp index cfd3010..c015585 100644 --- a/source/Maze_Content/Wall.cpp +++ b/source/Maze_Content/Buildings/Wall.cpp @@ -1,4 +1,4 @@ -#include "MazeContent/Wall.h" +#include "MazeContent/Buildings/Wall.h" #include "Config.h" //void Wall::prepare_for_drawing() { -- GitLab