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
This commit is contained in:
Gustavo Henrique Santos Souza de Miranda 2024-09-27 22:33:34 -03:00
parent 2b2d4931fc
commit 24d1e5b779
8 changed files with 148 additions and 122 deletions

122
main.cpp
View File

@ -1,122 +0,0 @@
#include <iostream>
#include <vector>
#include <map>
#define MAX_TURNS 30
enum Objects{
Acid,
Weed,
Speed,
Cocaine,
Ludes
};
class Bags{
public:
int max_Number_Items;
std::vector<Objects> items;
std::map<std::string, std::vector<int>> indexesMap;
Bags(){
indexesMap["Acid"] = std::vector<int>();
indexesMap["Weed"] = std::vector<int>();
indexesMap["Speed"] = std::vector<int>();
indexesMap["Cocaine"] = std::vector<int>();
indexesMap["Ludes"] = std::vector<int>();
}
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;
}

16
src/Game.cpp Normal file
View File

@ -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);
}

23
src/Region.cpp Normal file
View File

@ -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;
}

13
src/RegionManager.cpp Normal file
View File

@ -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;
}

23
src/include/Game.h Normal file
View File

@ -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

27
src/include/Region.h Normal file
View File

@ -0,0 +1,27 @@
//
// Created by gustavomiranda on 27/09/24.
//
#ifndef DRUGWARS_REGION_H
#define DRUGWARS_REGION_H
#include <map>
#include "RegionManager.h"
#include "Bag.h"
class RegionManager;
class Region{
private:
RegionManager* regionManager;
Places name;
std::map<DrugTypes,int> prices;
void setRegionManagerReference(RegionManager *reference);
void setName(Places regionname);
public:
Region(RegionManager *regionmanagerreference,Places regioname);
RegionManager *getRegionManagerReference();
};
#endif //DRUGWARS_REGION_H

View File

@ -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

12
src/main.cpp Normal file
View File

@ -0,0 +1,12 @@
#define MAX_TURNS 30
int main() {
return 0;
}