forked from jaildesigner-jailgames/jaildoctors_dilemma
Renombrado de variables
This commit is contained in:
172
source/room.cpp
172
source/room.cpp
@@ -4,22 +4,22 @@
|
||||
#include <sstream>
|
||||
|
||||
// Constructor
|
||||
Room::Room(std::string _file_path, SDL_Renderer *_renderer, Asset *_asset, Item_tracker *_item_tracker)
|
||||
Room::Room(std::string file_path, SDL_Renderer *renderer, Asset *asset, ItemTracker *itemTracker)
|
||||
{
|
||||
// Copia los punteros a objetos
|
||||
asset = _asset;
|
||||
renderer = _renderer;
|
||||
item_tracker = _item_tracker;
|
||||
this->asset = asset;
|
||||
this->renderer = renderer;
|
||||
this->itemTracker = itemTracker;
|
||||
|
||||
// Crea los objetos
|
||||
texture = new LTexture();
|
||||
load(_file_path);
|
||||
load(file_path);
|
||||
loadTextureFromFile(texture, asset->get(tileset), renderer);
|
||||
|
||||
// Crea la textura para el mapa de tiles de la habitación
|
||||
map_texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
|
||||
if (map_texture == NULL)
|
||||
printf("Error: map_texture could not be created!\nSDL Error: %s\n", SDL_GetError());
|
||||
mapTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
|
||||
if (mapTexture == NULL)
|
||||
printf("Error: mapTexture could not be created!\nSDL Error: %s\n", SDL_GetError());
|
||||
|
||||
// Pinta el mapa de la habitación en la textura
|
||||
fillMapTexture();
|
||||
@@ -33,20 +33,20 @@ Room::~Room()
|
||||
delete texture;
|
||||
texture = nullptr;
|
||||
|
||||
SDL_DestroyTexture(map_texture);
|
||||
map_texture = nullptr;
|
||||
SDL_DestroyTexture(mapTexture);
|
||||
mapTexture = nullptr;
|
||||
|
||||
for (auto enemy : enemy_list)
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
delete enemy;
|
||||
}
|
||||
enemy_list.clear();
|
||||
enemies.clear();
|
||||
|
||||
for (auto item : item_list)
|
||||
for (auto item : items)
|
||||
{
|
||||
delete item;
|
||||
}
|
||||
item_list.clear();
|
||||
items.clear();
|
||||
}
|
||||
|
||||
// Carga las variables desde un fichero
|
||||
@@ -88,7 +88,7 @@ bool Room::load(std::string _file_path)
|
||||
} while (line != "[enemy-end]");
|
||||
|
||||
// Añade el enemigo al vector de enemigos
|
||||
enemy_list.push_back(new Enemy(enemy));
|
||||
enemies.push_back(new Enemy(enemy));
|
||||
}
|
||||
|
||||
// Si la linea contiene el texto [tilemap] se realiza el proceso de carga del fichero tmx
|
||||
@@ -166,9 +166,9 @@ bool Room::load(std::string _file_path)
|
||||
|
||||
// Añade el item al vector de items
|
||||
const SDL_Point itemPos = {item.x, item.y};
|
||||
if (!item_tracker->hasBeenPicked(name, itemPos))
|
||||
if (!itemTracker->hasBeenPicked(name, itemPos))
|
||||
{
|
||||
item_list.push_back(new Item(item));
|
||||
items.push_back(new Item(item));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,50 +201,50 @@ bool Room::load(std::string _file_path)
|
||||
}
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
bool Room::setVars(std::string _var, std::string _value)
|
||||
bool Room::setVars(std::string var, std::string value)
|
||||
{
|
||||
// Indicador de éxito en la asignación
|
||||
bool success = true;
|
||||
|
||||
if (_var == "name")
|
||||
if (var == "name")
|
||||
{
|
||||
name = _value;
|
||||
name = value;
|
||||
}
|
||||
else if (_var == "bg_color")
|
||||
else if (var == "bgColor")
|
||||
{
|
||||
bg_color = stringToColor(_value);
|
||||
bgColor = stringToColor(value);
|
||||
}
|
||||
else if (_var == "tileset")
|
||||
else if (var == "tileset")
|
||||
{
|
||||
tileset = _value;
|
||||
tileset = value;
|
||||
}
|
||||
else if (_var == "room_up")
|
||||
else if (var == "roomUp")
|
||||
{
|
||||
room_up = _value;
|
||||
roomUp = value;
|
||||
}
|
||||
else if (_var == "room_down")
|
||||
else if (var == "roomDown")
|
||||
{
|
||||
room_down = _value;
|
||||
roomDown = value;
|
||||
}
|
||||
else if (_var == "room_left")
|
||||
else if (var == "roomLeft")
|
||||
{
|
||||
room_left = _value;
|
||||
roomLeft = value;
|
||||
}
|
||||
else if (_var == "room_right")
|
||||
else if (var == "roomRight")
|
||||
{
|
||||
room_right = _value;
|
||||
roomRight = value;
|
||||
}
|
||||
else if (_var == "tilemap")
|
||||
else if (var == "tilemap")
|
||||
{
|
||||
// Se introducen los valores separados por comas en un vector
|
||||
std::stringstream ss(_value);
|
||||
std::stringstream ss(value);
|
||||
std::string tmp;
|
||||
while (getline(ss, tmp, ','))
|
||||
{
|
||||
tilemap.push_back(std::stoi(tmp));
|
||||
}
|
||||
}
|
||||
else if (_var == "")
|
||||
else if (var == "")
|
||||
{
|
||||
}
|
||||
else
|
||||
@@ -256,60 +256,60 @@ bool Room::setVars(std::string _var, std::string _value)
|
||||
}
|
||||
|
||||
// Asigna variables a una estructura enemy_t
|
||||
bool Room::setEnemy(enemy_t *enemy, std::string _var, std::string _value)
|
||||
bool Room::setEnemy(enemy_t *enemy, std::string var, std::string value)
|
||||
{
|
||||
// Indicador de éxito en la asignación
|
||||
bool success = true;
|
||||
|
||||
if (_var == "tileset")
|
||||
if (var == "tileset")
|
||||
{
|
||||
enemy->tileset = _value;
|
||||
enemy->tileset = value;
|
||||
}
|
||||
else if (_var == "width")
|
||||
else if (var == "width")
|
||||
{
|
||||
enemy->w = std::stof(_value);
|
||||
enemy->w = std::stof(value);
|
||||
}
|
||||
else if (_var == "height")
|
||||
else if (var == "height")
|
||||
{
|
||||
enemy->h = std::stof(_value);
|
||||
enemy->h = std::stof(value);
|
||||
}
|
||||
else if (_var == "x")
|
||||
else if (var == "x")
|
||||
{
|
||||
enemy->x = std::stof(_value) * BLOCK;
|
||||
enemy->x = std::stof(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "y")
|
||||
else if (var == "y")
|
||||
{
|
||||
enemy->y = std::stof(_value) * BLOCK;
|
||||
enemy->y = std::stof(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "vx")
|
||||
else if (var == "vx")
|
||||
{
|
||||
enemy->vx = std::stof(_value);
|
||||
enemy->vx = std::stof(value);
|
||||
}
|
||||
else if (_var == "vy")
|
||||
else if (var == "vy")
|
||||
{
|
||||
enemy->vy = std::stof(_value);
|
||||
enemy->vy = std::stof(value);
|
||||
}
|
||||
else if (_var == "x1")
|
||||
else if (var == "x1")
|
||||
{
|
||||
enemy->x1 = std::stoi(_value) * BLOCK;
|
||||
enemy->x1 = std::stoi(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "x2")
|
||||
else if (var == "x2")
|
||||
{
|
||||
enemy->x2 = std::stoi(_value) * BLOCK;
|
||||
enemy->x2 = std::stoi(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "y1")
|
||||
else if (var == "y1")
|
||||
{
|
||||
enemy->y1 = std::stoi(_value) * BLOCK;
|
||||
enemy->y1 = std::stoi(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "y2")
|
||||
else if (var == "y2")
|
||||
{
|
||||
enemy->y2 = std::stoi(_value) * BLOCK;
|
||||
enemy->y2 = std::stoi(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "color")
|
||||
else if (var == "color")
|
||||
{
|
||||
enemy->color = stringToColor(_value);
|
||||
enemy->color = stringToColor(value);
|
||||
}
|
||||
else if (_var == "[enemy-end]")
|
||||
else if (var == "[enemy-end]")
|
||||
{
|
||||
}
|
||||
else
|
||||
@@ -321,28 +321,28 @@ bool Room::setEnemy(enemy_t *enemy, std::string _var, std::string _value)
|
||||
}
|
||||
|
||||
// Asigna variables a una estructura item_t
|
||||
bool Room::setItem(item_t *item, std::string _var, std::string _value)
|
||||
bool Room::setItem(item_t *item, std::string var, std::string value)
|
||||
{
|
||||
// Indicador de éxito en la asignación
|
||||
bool success = true;
|
||||
|
||||
if (_var == "tileset")
|
||||
if (var == "tileset")
|
||||
{
|
||||
item->tileset = _value;
|
||||
item->tileset = value;
|
||||
}
|
||||
else if (_var == "x")
|
||||
else if (var == "x")
|
||||
{
|
||||
item->x = std::stof(_value) * BLOCK;
|
||||
item->x = std::stof(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "y")
|
||||
else if (var == "y")
|
||||
{
|
||||
item->y = std::stof(_value) * BLOCK;
|
||||
item->y = std::stof(value) * BLOCK;
|
||||
}
|
||||
else if (_var == "tile")
|
||||
else if (var == "tile")
|
||||
{
|
||||
item->tile = std::stof(_value);
|
||||
item->tile = std::stof(value);
|
||||
}
|
||||
else if (_var == "[item-end]")
|
||||
else if (var == "[item-end]")
|
||||
{
|
||||
}
|
||||
else
|
||||
@@ -362,14 +362,14 @@ std::string Room::getName()
|
||||
// Devuelve el color de la habitación
|
||||
color_t Room::getBGColor()
|
||||
{
|
||||
return bg_color;
|
||||
return bgColor;
|
||||
}
|
||||
|
||||
// Crea la textura con el mapeado de la habitación
|
||||
void Room::fillMapTexture()
|
||||
{
|
||||
SDL_SetRenderTarget(renderer, map_texture);
|
||||
SDL_SetTextureBlendMode(map_texture, SDL_BLENDMODE_BLEND);
|
||||
SDL_SetRenderTarget(renderer, mapTexture);
|
||||
SDL_SetTextureBlendMode(mapTexture, SDL_BLENDMODE_BLEND);
|
||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
|
||||
SDL_RenderClear(renderer);
|
||||
|
||||
@@ -395,13 +395,13 @@ void Room::drawMap()
|
||||
SDL_Rect rect = {0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT};
|
||||
|
||||
// Dibuja la textura con el mapa en pantalla
|
||||
SDL_RenderCopy(renderer, map_texture, &rect, NULL);
|
||||
SDL_RenderCopy(renderer, mapTexture, &rect, NULL);
|
||||
}
|
||||
|
||||
// Dibuja los enemigos en pantalla
|
||||
void Room::drawEnemies()
|
||||
{
|
||||
for (auto enemy : enemy_list)
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
enemy->draw();
|
||||
}
|
||||
@@ -410,7 +410,7 @@ void Room::drawEnemies()
|
||||
// Dibuja los objetos en pantalla
|
||||
void Room::drawItems()
|
||||
{
|
||||
for (auto item : item_list)
|
||||
for (auto item : items)
|
||||
{
|
||||
item->draw();
|
||||
}
|
||||
@@ -419,12 +419,12 @@ void Room::drawItems()
|
||||
// Actualiza las variables y objetos de la habitación
|
||||
void Room::update()
|
||||
{
|
||||
for (auto enemy : enemy_list)
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
enemy->update();
|
||||
}
|
||||
|
||||
for (auto item : item_list)
|
||||
for (auto item : items)
|
||||
{
|
||||
item->update();
|
||||
}
|
||||
@@ -436,19 +436,19 @@ std::string Room::getRoom(int border)
|
||||
switch (border)
|
||||
{
|
||||
case BORDER_TOP:
|
||||
return room_up;
|
||||
return roomUp;
|
||||
break;
|
||||
|
||||
case BORDER_BOTTOM:
|
||||
return room_down;
|
||||
return roomDown;
|
||||
break;
|
||||
|
||||
case BORDER_RIGHT:
|
||||
return room_right;
|
||||
return roomRight;
|
||||
break;
|
||||
|
||||
case BORDER_LEFT:
|
||||
return room_left;
|
||||
return roomLeft;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -492,7 +492,7 @@ bool Room::enemyCollision(SDL_Rect &rect)
|
||||
{
|
||||
bool collision = false;
|
||||
|
||||
for (auto enemy : enemy_list)
|
||||
for (auto enemy : enemies)
|
||||
{
|
||||
collision |= checkCollision(rect, enemy->getCollider());
|
||||
}
|
||||
@@ -504,12 +504,12 @@ bool Room::enemyCollision(SDL_Rect &rect)
|
||||
bool Room::itemCollision(SDL_Rect &rect)
|
||||
{
|
||||
bool collision = false;
|
||||
for (auto item : item_list)
|
||||
for (auto item : items)
|
||||
{
|
||||
if (checkCollision(rect, item->getCollider()))
|
||||
{
|
||||
item->pick();
|
||||
item_tracker->addItem(name, item->getPos());
|
||||
itemTracker->addItem(name, item->getPos());
|
||||
collision = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user