forked from jaildesigner-jailgames/jaildoctors_dilemma
Ya se puede entrar a la Jail
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
name=road to the jail
|
name=ROAD TO THE JAIL
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=cyan
|
border=cyan
|
||||||
tileMapFile=02.tmx
|
tileMapFile=02.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=void main
|
name=VOID MAIN
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=magenta
|
border=magenta
|
||||||
tileMapFile=03.tmx
|
tileMapFile=03.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=sigmasua
|
name=SIGMASUA
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=07.tmx
|
tileMapFile=07.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the hall
|
name=THE HALL
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=magenta
|
border=magenta
|
||||||
tileMapFile=10.tmx
|
tileMapFile=10.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=matatunos
|
name=TUNOKILLER
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=blue
|
border=blue
|
||||||
tileMapFile=13.tmx
|
tileMapFile=13.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=now this is the batcave!
|
name=NOW THIS IS THE BATCAVE!
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=15.tmx
|
tileMapFile=15.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=The Fridge
|
name=THE FRIDGE
|
||||||
bgColor=blue
|
bgColor=blue
|
||||||
border=blue
|
border=blue
|
||||||
itemColor1=bright_cyan
|
itemColor1=bright_cyan
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=i remember this one too
|
name=I REMEMBER THIS ONE TOO
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=magenta
|
border=magenta
|
||||||
tileMapFile=17.tmx
|
tileMapFile=17.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=make money
|
name=MAKE MONEY
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=magenta
|
border=magenta
|
||||||
tileMapFile=18.tmx
|
tileMapFile=18.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=this can't be the batcave
|
name=THIS CAN'T BE THE BATCAVE
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=cyan
|
border=cyan
|
||||||
tileMapFile=19.tmx
|
tileMapFile=19.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=AEE2 never came out
|
name=AEE2 NEVER CAME OUT
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=yellow
|
border=yellow
|
||||||
tileMapFile=22.tmx
|
tileMapFile=22.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=inner chamber
|
name=INNER CHAMBER
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=bright_yellow
|
border=bright_yellow
|
||||||
tileMapFile=23.tmx
|
tileMapFile=23.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=jingle bells
|
name=JINGLE BELLS
|
||||||
bgColor=blue
|
bgColor=blue
|
||||||
border=yellow
|
border=yellow
|
||||||
tileMapFile=26.tmx
|
tileMapFile=26.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the backyard
|
name=THE BACKYARD
|
||||||
bgColor=blue
|
bgColor=blue
|
||||||
border=cyan
|
border=cyan
|
||||||
tileMapFile=27.tmx
|
tileMapFile=27.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the final crossover
|
name=THE FINAL CROSSOVER
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=yellow
|
border=yellow
|
||||||
tileMapFile=38.tmx
|
tileMapFile=38.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=you'll believe arounder can fly
|
name=YOU'LL BELIEVE AROUNDER CAN FLY
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=cyan
|
border=cyan
|
||||||
tileMapFile=39.tmx
|
tileMapFile=39.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=prevent the crisis
|
name=PREVENT THE CRISIS
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=bright_magenta
|
border=bright_magenta
|
||||||
tileMapFile=40.tmx
|
tileMapFile=40.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=around with me
|
name=AROUND WITH ME
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=blue
|
border=blue
|
||||||
tileMapFile=41.tmx
|
tileMapFile=41.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=P.A.C.O. on the go
|
name=P.A.C.O. ON THE GO
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=42.tmx
|
tileMapFile=42.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the tube
|
name=THE TUBE
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=blue
|
border=blue
|
||||||
tileMapFile=43.tmx
|
tileMapFile=43.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the kitchen
|
name=THE KITCHEN
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=cyan
|
border=cyan
|
||||||
tileMapFile=44.tmx
|
tileMapFile=44.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the battle never ends
|
name=THE BATTLE NEVER ENDS
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=white
|
border=white
|
||||||
tileMapFile=47.tmx
|
tileMapFile=47.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=welcome to the jailbattle
|
name=WELCOME TO THE JAILBATTLE
|
||||||
bgColor=green
|
bgColor=green
|
||||||
border=bright_green
|
border=bright_green
|
||||||
tileMapFile=48.tmx
|
tileMapFile=48.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=bamba
|
name=BAMBA
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=red
|
border=red
|
||||||
tileMapFile=49.tmx
|
tileMapFile=49.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=stored jailgames
|
name=STORED JAILGAMES
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=blue
|
border=blue
|
||||||
tileMapFile=50.tmx
|
tileMapFile=50.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=mini ascii
|
name=MINI ASCII
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=51.tmx
|
tileMapFile=51.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=breakout.lua
|
name=BREAKOUT.LUA
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=52.tmx
|
tileMapFile=52.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=P.A.C.O workshop
|
name=P.A.C.O WORKSHOP
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=yellow
|
border=yellow
|
||||||
tileMapFile=53.tmx
|
tileMapFile=53.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=the basement
|
name=THE BASEMENT
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=green
|
border=green
|
||||||
tileMapFile=54.tmx
|
tileMapFile=54.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=that's a guitar
|
name=THAT'S A GUITAR
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=55.tmx
|
tileMapFile=55.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=heavy demons on leggins
|
name=HEAVY DEMONS ON LEGGINS
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=black
|
border=black
|
||||||
tileMapFile=56.tmx
|
tileMapFile=56.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=jailgames go to hell
|
name=JAILGAMES GO TO HELL
|
||||||
bgColor=red
|
bgColor=red
|
||||||
border=bright_red
|
border=bright_red
|
||||||
tileMapFile=57.tmx
|
tileMapFile=57.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=chirping
|
name=CHIRPING
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=magenta
|
border=magenta
|
||||||
tileMapFile=58.tmx
|
tileMapFile=58.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=static
|
name=STATIC
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=bright_magenta
|
border=bright_magenta
|
||||||
tileMapFile=59.tmx
|
tileMapFile=59.tmx
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name=magnetic fields
|
name=MAGNETIC FIELDS
|
||||||
bgColor=black
|
bgColor=black
|
||||||
border=red
|
border=red
|
||||||
tileMapFile=60.tmx
|
tileMapFile=60.tmx
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ Demo::Demo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
// Crea los objetos
|
// Crea los objetos
|
||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
|
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
|
||||||
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, false, debug);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
|
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ bool Demo::changeRoom(std::string file)
|
|||||||
room = nullptr;
|
room = nullptr;
|
||||||
|
|
||||||
// Crea un objeto habitación nuevo a partir del fichero
|
// Crea un objeto habitación nuevo a partir del fichero
|
||||||
room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, false, debug);
|
||||||
|
|
||||||
// Pone el color del marcador en función del color del borde de la habitación
|
// Pone el color del marcador en función del color del borde de la habitación
|
||||||
setScoreBoardColor();
|
setScoreBoardColor();
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
this->options = options;
|
this->options = options;
|
||||||
|
|
||||||
// ****
|
// ****
|
||||||
// this->debug->setEnabled(true);
|
currentRoom = "01.room";
|
||||||
currentRoom = "27.room";
|
|
||||||
const int x = 29;
|
const int x = 29;
|
||||||
const int y = 13;
|
const int y = 13;
|
||||||
spawnPoint = {x * 8, y * 8, 0, 0, 0, s_standing, SDL_FLIP_HORIZONTAL};
|
spawnPoint = {x * 8, y * 8, 0, 0, 0, s_standing, SDL_FLIP_HORIZONTAL};
|
||||||
@@ -30,7 +29,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
|
scoreboard = new ScoreBoard(renderer, resource, asset, options, &board);
|
||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
roomTracker = new RoomTracker();
|
roomTracker = new RoomTracker();
|
||||||
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, false, debug);
|
||||||
const player_t player = {spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug};
|
const player_t player = {spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug};
|
||||||
this->player = new Player(player);
|
this->player = new Player(player);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
@@ -45,9 +44,9 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
board.lives = 9;
|
board.lives = 9;
|
||||||
board.items = 0;
|
board.items = 0;
|
||||||
board.rooms = 1;
|
board.rooms = 1;
|
||||||
setScoreBoardColor();
|
|
||||||
board.music = true;
|
board.music = true;
|
||||||
board.jailEnabled = false;
|
board.jailEnabled = false;
|
||||||
|
setScoreBoardColor();
|
||||||
roomTracker->addRoom(currentRoom);
|
roomTracker->addRoom(currentRoom);
|
||||||
paused = false;
|
paused = false;
|
||||||
blackScreen = false;
|
blackScreen = false;
|
||||||
@@ -310,7 +309,7 @@ bool Game::changeRoom(std::string file)
|
|||||||
room = nullptr;
|
room = nullptr;
|
||||||
|
|
||||||
// Crea un objeto habitación nuevo a partir del fichero
|
// Crea un objeto habitación nuevo a partir del fichero
|
||||||
room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(resource->getRoom(file), renderer, screen, asset, options, itemTracker, &board.items, board.jailEnabled, debug);
|
||||||
|
|
||||||
// Pone el color del marcador en función del color del borde de la habitación
|
// Pone el color del marcador en función del color del borde de la habitación
|
||||||
setScoreBoardColor();
|
setScoreBoardColor();
|
||||||
@@ -404,7 +403,7 @@ void Game::killPlayer()
|
|||||||
setBlackScreen();
|
setBlackScreen();
|
||||||
|
|
||||||
// Crea la nueva habitación y el nuevo jugador
|
// Crea la nueva habitación y el nuevo jugador
|
||||||
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, debug);
|
room = new Room(resource->getRoom(currentRoom), renderer, screen, asset, options, itemTracker, &board.items, board.jailEnabled, debug);
|
||||||
const player_t player = {spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug};
|
const player_t player = {spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug};
|
||||||
this->player = new Player(player);
|
this->player = new Player(player);
|
||||||
|
|
||||||
@@ -504,7 +503,7 @@ bool Game::checkEndGame()
|
|||||||
|
|
||||||
const bool a = room->getName() == "THE JAIL";
|
const bool a = room->getName() == "THE JAIL";
|
||||||
const bool b = board.items >= 5;
|
const bool b = board.items >= 5;
|
||||||
const bool c = player->getRect().x < 152;
|
const bool c = player->getRect().x <= 128;
|
||||||
|
|
||||||
if (b)
|
if (b)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ bool setItem(item_t *item, std::string var, std::string value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, Debug *debug)
|
Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, bool jailEnabled, Debug *debug)
|
||||||
{
|
{
|
||||||
// Copia los punteros a objetos
|
// Copia los punteros a objetos
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
@@ -404,6 +404,7 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
|||||||
textureB = room->textureB;
|
textureB = room->textureB;
|
||||||
tileMap = room->tileMap;
|
tileMap = room->tileMap;
|
||||||
texture = (options->palette == p_zxspectrum) ? textureA : textureB;
|
texture = (options->palette == p_zxspectrum) ? textureA : textureB;
|
||||||
|
this->jailEnabled = jailEnabled;
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
tileSize = 8;
|
tileSize = 8;
|
||||||
@@ -438,6 +439,12 @@ Room::Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, o
|
|||||||
// Carga los sonidos
|
// Carga los sonidos
|
||||||
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
|
itemSound = JA_LoadSound(asset->get("item.wav").c_str());
|
||||||
|
|
||||||
|
// Abre la jail para poder entrar
|
||||||
|
if (jailEnabled)
|
||||||
|
{
|
||||||
|
openTheJail();
|
||||||
|
}
|
||||||
|
|
||||||
// Calcula las superficies
|
// Calcula las superficies
|
||||||
setBottomSurfaces();
|
setBottomSurfaces();
|
||||||
setTopSurfaces();
|
setTopSurfaces();
|
||||||
@@ -1463,4 +1470,24 @@ void Room::resume()
|
|||||||
int Room::getAutoSurfaceDirection()
|
int Room::getAutoSurfaceDirection()
|
||||||
{
|
{
|
||||||
return autoSurfaceDirection;
|
return autoSurfaceDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Abre la jail para poder entrar
|
||||||
|
void Room::openTheJail()
|
||||||
|
{
|
||||||
|
if (name == "THE JAIL")
|
||||||
|
{
|
||||||
|
// Cambia el color de fondo
|
||||||
|
bgColor = "red";
|
||||||
|
|
||||||
|
// Elimina el último enemigo (Bry debe ser el ultimo enemigo definido en el fichero)
|
||||||
|
delete enemies.back();
|
||||||
|
enemies.pop_back();
|
||||||
|
|
||||||
|
// Abre las puertas
|
||||||
|
const int tileA = 16 + (13 * 32);
|
||||||
|
const int tileB = 16 + (14 * 32);
|
||||||
|
tileMap->at(tileA) = -1;
|
||||||
|
tileMap->at(tileB) = -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -117,6 +117,7 @@ private:
|
|||||||
int mapWidth; // Ancho del mapa en tiles
|
int mapWidth; // Ancho del mapa en tiles
|
||||||
int mapHeight; // Alto del mapa en tiles
|
int mapHeight; // Alto del mapa en tiles
|
||||||
int tileSetWidth; // Ancho del tileset en tiles
|
int tileSetWidth; // Ancho del tileset en tiles
|
||||||
|
bool jailEnabled; // Indica si hay acceso a la Jail
|
||||||
|
|
||||||
// Pinta el mapa de la habitación en la textura
|
// Pinta el mapa de la habitación en la textura
|
||||||
void fillMapTexture();
|
void fillMapTexture();
|
||||||
@@ -154,9 +155,12 @@ private:
|
|||||||
// Devuelve el tipo de tile que hay en ese indice
|
// Devuelve el tipo de tile que hay en ese indice
|
||||||
tile_e getTile(int index);
|
tile_e getTile(int index);
|
||||||
|
|
||||||
|
// Abre la jail para poder entrar
|
||||||
|
void openTheJail();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, Debug *debug);
|
Room(room_t *room, SDL_Renderer *renderer, Screen *screen, Asset *asset, options_t *options, ItemTracker *itemTracker, int *itemsPicked, bool jailEnabled, Debug *debug);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Room();
|
~Room();
|
||||||
|
|||||||
Reference in New Issue
Block a user