From 24d1e5b77929a3a02a8e3e4de592a9de0521246f Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Fri, 27 Sep 2024 22:33:34 -0300 Subject: [PATCH] Added Few Classes: Game Region and RegionManager These classes are the main core of the game to make it work. Also added the main.cpp inside the src folder --- main.cpp | 122 ------------------------------------ src/Game.cpp | 16 +++++ src/Region.cpp | 23 +++++++ src/RegionManager.cpp | 13 ++++ src/include/Game.h | 23 +++++++ src/include/Region.h | 27 ++++++++ src/include/RegionManager.h | 34 ++++++++++ src/main.cpp | 12 ++++ 8 files changed, 148 insertions(+), 122 deletions(-) delete mode 100644 main.cpp create mode 100644 src/Game.cpp create mode 100644 src/Region.cpp create mode 100644 src/RegionManager.cpp create mode 100644 src/include/Game.h create mode 100644 src/include/Region.h create mode 100644 src/include/RegionManager.h create mode 100644 src/main.cpp diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 7be1d4d..0000000 --- a/main.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include -#include -#include - -#define MAX_TURNS 30 -enum Objects{ - Acid, - Weed, - Speed, - Cocaine, - Ludes - - -}; -class Bags{ - public: - - int max_Number_Items; - std::vector items; - std::map> indexesMap; - - Bags(){ - indexesMap["Acid"] = std::vector(); - indexesMap["Weed"] = std::vector(); - indexesMap["Speed"] = std::vector(); - indexesMap["Cocaine"] = std::vector(); - indexesMap["Ludes"] = std::vector(); - - } - - void setCapacity(int size){ - this->max_Number_Items = size; - - }; - void addItem(Objects item){ - items.push_back(item); - addIndexToIndexesMap(item); - - } - void addIndexToIndexesMap(Objects item){ - switch (item) { - case Acid: - indexesMap["Acid"].push_back(items.size()-1); - break; - case Weed: - indexesMap["Weed"].push_back(items.size()-1); - break; - case Speed: - indexesMap["Speed"].push_back(items.size()-1); - break; - case Cocaine: - indexesMap["Cocaine"].push_back(items.size()-1); - break; - case Ludes: - indexesMap["Ludes"].push_back(items.size()-1); - break; - } - }; - void addMultipleItems(Objects item, int n){ - for (int i = 0; i< n;i++){ - addItem(item); - } - - } - -}; - -class Basic_Trenchcoat: public Bags{ -public: - Basic_Trenchcoat(): Bags(){ - this->setCapacity(100); - - } -}; - -class Player{ - private: - int Money = 0; - Bags *inventory = new Basic_Trenchcoat(); - -public: - - ~Player(){ - delete inventory; - } - - void addItemsToInventory(Objects items, int n){ - inventory->addMultipleItems(items,n); - } - -}; - -class Game{ - private: - Player *player = new Player(); - int current_Turn = 0; - - - public: - void Run(){ - player->addItemsToInventory(Acid,150); - - - }; - ~Game(){ - delete player; - - } - - - -}; - - -int main() { - Game *main = new Game; - main->Run(); - - delete main; - - return 0; -} diff --git a/src/Game.cpp b/src/Game.cpp new file mode 100644 index 0000000..96a7ced --- /dev/null +++ b/src/Game.cpp @@ -0,0 +1,16 @@ +// +// Created by gustavomiranda on 27/09/24. +// + +#include "Game.h" + +void Game::setup() { + Region *ghetto = new Region; + Region *centralPark = new Region; + Region *manhattan = new Region; + Region *conneyIsland = new Region; + Region *brooklyn = new Region; + regionManager = new RegionManager(ghetto,centralPark,manhattan, + conneyIsland,brooklyn); + +} diff --git a/src/Region.cpp b/src/Region.cpp new file mode 100644 index 0000000..7c8b8d3 --- /dev/null +++ b/src/Region.cpp @@ -0,0 +1,23 @@ +// +// Created by gustavomiranda on 27/09/24. +// +#include "Region.h" + +Region::Region(RegionManager *regionmanagerreference, Places regioname) { + setRegionManagerReference(regionmanagerreference); + setName(regioname); +} + +void Region::setRegionManagerReference(RegionManager *reference){ + regionManager = reference; +} + +void Region::setName(Places regionname){ + name = regionname; +} + +RegionManager* Region::getRegionManagerReference(){ + return regionManager; + +} + diff --git a/src/RegionManager.cpp b/src/RegionManager.cpp new file mode 100644 index 0000000..e2a67b6 --- /dev/null +++ b/src/RegionManager.cpp @@ -0,0 +1,13 @@ +// +// Created by gustavomiranda on 27/09/24. +// +#include "RegionManager.h" + +RegionManager::RegionManager(Region *ghettoref, Region *centralparkref, Region *manhattanref, Region *conneyislandref, + Region *brooklynref) { + ghetto = ghettoref; + centralPark = centralparkref; + manhattan = manhattanref; + conneyIsland = conneyislandref; + brooklyn = brooklynref; +} diff --git a/src/include/Game.h b/src/include/Game.h new file mode 100644 index 0000000..5f611bf --- /dev/null +++ b/src/include/Game.h @@ -0,0 +1,23 @@ +// +// Created by gustavomiranda on 27/09/24. +// + +#ifndef DRUGWARS_GAME_H +#define DRUGWARS_GAME_H + + +#include "RegionManager.h" +#include "Player.h" + +class Game { +private: + Player *player = new Player(); + RegionManager *regionManager; +public: + void setup(); + + +}; + + +#endif //DRUGWARS_GAME_H diff --git a/src/include/Region.h b/src/include/Region.h new file mode 100644 index 0000000..ab0449d --- /dev/null +++ b/src/include/Region.h @@ -0,0 +1,27 @@ +// +// Created by gustavomiranda on 27/09/24. +// + +#ifndef DRUGWARS_REGION_H +#define DRUGWARS_REGION_H + +#include +#include "RegionManager.h" +#include "Bag.h" + +class RegionManager; + +class Region{ +private: + RegionManager* regionManager; + Places name; + std::map prices; + void setRegionManagerReference(RegionManager *reference); + void setName(Places regionname); +public: + Region(RegionManager *regionmanagerreference,Places regioname); + + RegionManager *getRegionManagerReference(); +}; + +#endif //DRUGWARS_REGION_H diff --git a/src/include/RegionManager.h b/src/include/RegionManager.h new file mode 100644 index 0000000..db842ec --- /dev/null +++ b/src/include/RegionManager.h @@ -0,0 +1,34 @@ +// +// Created by gustavomiranda on 27/09/24. +// + +#ifndef DRUGWARS_REGIONMANAGER_H +#define DRUGWARS_REGIONMANAGER_H +#include "Region.h" + + +enum Places{ + Bronx, + Ghetto, + Central_Park, + Manhattan, + Conney_Island, + Brooklyn +}; + +class RegionManager{ +private: + Region *ghetto; + Region *centralPark; + Region *manhattan; + Region *conneyIsland; + Region *brooklyn; +public: + RegionManager(Region *ghettoref, Region* centralparkref, Region* manhattanref, Region* conneyislandref, Region* brooklynref); + +}; + + + + +#endif //DRUGWARS_REGIONMANAGER_H diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..392bcfb --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,12 @@ + + + +#define MAX_TURNS 30 + + + +int main() { + + + return 0; +}