Retocado el mapa

This commit is contained in:
2022-08-27 23:26:48 +02:00
parent 7c7e0c01e2
commit bc464206c1
9 changed files with 91 additions and 49 deletions

View File

@@ -12,22 +12,22 @@
0,18,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,18,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,50,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,20,0, 0,50,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,20,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,51,52,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,51,52,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,237,238,0,0,0,0,0,0,0,0,125,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,362,364,0,0,0,0,0,0,0,0,369,371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,362,364,0,0,0,0,0,0,0,0,369,371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,426,428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,426,428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,362,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,362,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,426,428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,426,428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,583,584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,583,584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,239,240,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,69,70,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,239,240,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,93,94,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,366,367,367,368,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,101,102,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,366,367,367,368,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,125,126,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,430,431,431,432,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,583,584,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,430,431,431,432,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,159,160,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,615,616,69,70,0,0,0,93,94,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,191,192,0,0,0,0,0,93,94,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,189,190,101,102,0,0,0,125,126,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,189,190,241,242,0,0,0,125,126,0,0,0,0,0,0,
363,364,0,0,0,0,0,193,194,0,0,0,0,189,190,0,0,0,0,0,0,0,362,282,277,278,279,274,364,0,0,0,157,158,0,0,0,0,0,0, 363,364,0,0,0,0,0,193,194,0,0,0,0,189,190,0,0,0,237,238,0,0,362,282,277,278,279,274,364,0,0,0,157,158,0,0,0,0,0,0,
295,396,0,0,0,0,0,225,226,0,0,0,0,189,190,0,0,362,275,275,275,275,313,314,309,310,311,312,396,0,0,0,189,190,0,0,0,0,0,0, 295,396,0,0,0,0,0,225,226,0,0,0,0,189,190,0,0,362,275,275,275,275,313,314,309,310,311,312,396,0,0,0,189,190,0,0,237,238,0,0,
265,264,263,264,263,264,263,264,263,264,263,264,263,264,263,264,263,264,263,266,266,266,283,284,266,265,266,264,263,264,263,264,263,264,263,264,263,264,263,264, 265,264,263,264,263,264,263,264,263,264,263,264,263,264,263,264,263,264,267,266,266,266,283,284,266,265,266,267,263,264,263,264,263,264,263,264,263,264,263,264,
295,296,295,296,295,296,295,296,295,265,295,296,295,296,295,296,295,296,295,296,295,296,315,316,298,297,298,296,295,296,295,296,295,296,295,296,295,296,295,296 295,296,295,296,295,296,295,296,295,265,295,296,295,296,295,296,295,296,295,296,295,296,315,316,298,297,298,296,295,296,295,296,295,296,295,296,295,296,295,296
</data> </data>
</layer> </layer>

View File

@@ -12,3 +12,18 @@ y1=12
x2=9 x2=9
y2=20 y2=20
[/path] [/path]
[path]
tileset=flying_eye_horn.png
animation=flying_eye_horn.ani
width=16
height=16
x=15
y=5
vx=0.5
vy=0
x1=5
y1=5
x2=30
y2=5
[/path]

44
data/map/03.ene Normal file
View File

@@ -0,0 +1,44 @@
[path]
tileset=walking_eye.png
animation=walking_eye.ani
width=16
height=16
x=13
y=23
vx=0.4
vy=0
x1=3
y1=23
x2=18
y2=23
[/path]
[path]
tileset=walking_eye.png
animation=walking_eye.ani
width=16
height=16
x=22
y=13
vx=0.4
vy=0
x1=20
y1=13
x2=24
y2=13
[/path]
[path]
tileset=walking_eye.png
animation=walking_eye.ani
width=16
height=16
x=27
y=8
vx=-0.4
vy=0
x1=25
y1=8
x2=29
y2=8
[/path]

View File

@@ -1,4 +1,5 @@
tileset_img=surface.png tileset_img=surface.png
enemy_file=03.ene
bgColor1=143,86,59 bgColor1=143,86,59
bgColor2=69,40,60 bgColor2=69,40,60
@@ -31,4 +32,13 @@ x=22
y=12 y=12
[/diamond] [/diamond]
[diamond]
tileset=diamond.png
animation=diamond.ani
width=16
height=16
x=2
y=22
[/diamond]
[/actors] [/actors]

View File

@@ -28,7 +28,7 @@ AnimatedSprite::~AnimatedSprite()
// Obtiene el indice de la animación a partir del nombre // Obtiene el indice de la animación a partir del nombre
int AnimatedSprite::getIndex(std::string name) int AnimatedSprite::getIndex(std::string name)
{ {
int index = 0; int index = -1;
for (int i = 0; i < animation.size(); i++) for (int i = 0; i < animation.size(); i++)
{ {
if (animation[i].name == name) if (animation[i].name == name)
@@ -36,6 +36,12 @@ int AnimatedSprite::getIndex(std::string name)
index = i; index = i;
} }
} }
if (index == -1)
{
printf("** Warning: could not find \"%s\" animation\n", name.c_str());
index = 0;
}
return index; return index;
} }

View File

@@ -22,8 +22,6 @@ EnemyEngine::~EnemyEngine()
delete enemy; delete enemy;
} }
enemies.clear(); enemies.clear();
delete enemy;
} }
// Pinta los enemigos en pantalla // Pinta los enemigos en pantalla
@@ -33,7 +31,6 @@ void EnemyEngine::render()
{ {
enemy->render(); enemy->render();
} }
enemy->render();
} }
// Actualiza las variables del objeto // Actualiza las variables del objeto
@@ -43,7 +40,6 @@ void EnemyEngine::update()
{ {
enemy->update(); enemy->update();
} }
enemy->update();
} }
// Carga las variables desde un fichero // Carga las variables desde un fichero
@@ -88,8 +84,7 @@ bool EnemyEngine::load(std::string file_path)
} while (line != "[/path]"); } while (line != "[/path]");
printf("** enemy path loaded\n\n"); printf("** enemy path loaded\n\n");
//enemies.push_back(new EnemyPath(enemy, p1, p2)); enemies.push_back(new EnemyPath(enemy, p1, p2));
this->enemy = new EnemyPath(enemy, p1, p2);
} }
} }
@@ -173,19 +168,3 @@ bool EnemyEngine::setEnemy(enemy_t *enemy, SDL_Point *p1, SDL_Point *p2, std::st
return success; return success;
} }
// Carga el vector de enemigos
//bool EnemyEngine::setEnemies(std::string file)
//{
// // Elimina todos los enemigos anteriores
// for (auto enemy : enemies)
// {
// delete enemy;
// }
// enemies.clear();
//
// // Carga el vector de enemigos desde un fichero
// const bool success = load(file);
//
// return success;
//}

View File

@@ -22,7 +22,6 @@ private:
Map *map; // Mapa con la información de la habitación Map *map; // Mapa con la información de la habitación
Player *player; // Puntero con el jugador Player *player; // Puntero con el jugador
std::vector<EnemyPath *> enemies; // Vector con la lista de enemigos std::vector<EnemyPath *> enemies; // Vector con la lista de enemigos
EnemyPath *enemy;
// Carga las variables desde un fichero // Carga las variables desde un fichero
bool load(std::string file_path); bool load(std::string file_path);
@@ -42,9 +41,6 @@ public:
// Actualiza las variables del objeto // Actualiza las variables del objeto
void update(); void update();
// Carga el vector de enemigos
//bool setEnemies(std::string file);
}; };
#endif #endif

View File

@@ -219,25 +219,16 @@ bool Game::changeMap(std::string file)
{ // Verifica que exista el fichero que se va a cargar { // Verifica que exista el fichero que se va a cargar
if (asset->get(file) != "") if (asset->get(file) != "")
{ {
// Elimina la habitación actual // Elimina la habitación actual y crea un objeto nuevo a partir del fichero
delete map; delete map;
// Crea un objeto habitación nuevo a partir del fichero
map = new Map(asset->get(file), renderer, asset, itemTracker); map = new Map(asset->get(file), renderer, asset, itemTracker);
// Elimina el gestor de enemigos y crea uno nuevo a partir de un fichero
delete enemyEngine; delete enemyEngine;
enemyEngine = new EnemyEngine(renderer, asset, player, map, asset->get(map->getEnemyFile())); enemyEngine = new EnemyEngine(renderer, asset, player, map, asset->get(map->getEnemyFile()));
success = true; success = true;
} }
// Carga los enemigos
// const std::string enemyFile = asset->get(map->getEnemyFile());
// if (enemyFile != "")
//{
// enemyEngine->setEnemies(enemyFile);
// success = true;
//}
} }
return success; return success;

View File

@@ -146,6 +146,7 @@ bool Prog::setFileList()
asset->add("/data/map/02.ene", data); asset->add("/data/map/02.ene", data);
asset->add("/data/map/03.map", data); asset->add("/data/map/03.map", data);
asset->add("/data/map/03.tmx", data); asset->add("/data/map/03.tmx", data);
asset->add("/data/map/03.ene", data);
asset->add("/data/map/surface.png", bitmap); asset->add("/data/map/surface.png", bitmap);
// Ficheros de configuración // Ficheros de configuración