forked from jaildesigner-jailgames/jaildoctors_dilemma
Añadido el modo demo
This commit is contained in:
75
source/demo.h
Normal file
75
source/demo.h
Normal file
@@ -0,0 +1,75 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL2/SDL.h>
|
||||
#include "const.h"
|
||||
#include "item_tracker.h"
|
||||
#include "room_tracker.h"
|
||||
#include "room.h"
|
||||
#include "scoreboard.h"
|
||||
#include "utils/animatedsprite.h"
|
||||
#include "utils/asset.h"
|
||||
#include "utils/debug.h"
|
||||
#include "utils/input.h"
|
||||
#include "utils/screen.h"
|
||||
#include "utils/sprite.h"
|
||||
#include "utils/text.h"
|
||||
#include "utils/utils.h"
|
||||
|
||||
#ifndef DEMO_H
|
||||
#define DEMO_H
|
||||
|
||||
// Demo
|
||||
class Demo
|
||||
{
|
||||
private:
|
||||
// Objetos
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
SDL_Event *eventHandler; // Manejador de eventos
|
||||
Screen *screen; // Objeto encargado de manejar el renderizador
|
||||
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||
Text *text; // Objeto para los textos del juego
|
||||
ScoreBoard *scoreboard; // Objeto encargado de gestionar el marcador
|
||||
ItemTracker *itemTracker; // Lleva el control de los objetos recogidos
|
||||
Debug *debug; // Objeto para gestionar la información de debug
|
||||
|
||||
// Variables
|
||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||
section_t section; // Seccion actual dentro del juego
|
||||
std::string currentRoom; // Fichero de la habitación actual
|
||||
board_t board; // Estructura con los datos del marcador
|
||||
int counter; // Contador para el modo demo
|
||||
int roomIndex; // Indice para el vector de habitaciones
|
||||
std::vector<std::string> rooms; // Listado con los mapas de la demo
|
||||
|
||||
// Actualiza el juego, las variables, comprueba la entrada, etc.
|
||||
void update();
|
||||
|
||||
// Pinta los objetos en pantalla
|
||||
void render();
|
||||
|
||||
// Comprueba los eventos de la cola
|
||||
void checkEventHandler();
|
||||
|
||||
// Escribe el nombre de la pantalla
|
||||
void renderRoomName();
|
||||
|
||||
// Recarga todas las texturas
|
||||
void reLoadTextures();
|
||||
|
||||
// Cambia de habitación
|
||||
bool changeRoom(std::string file);
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Demo(SDL_Renderer *renderer, Screen *screen, Asset *asset, Debug *debug);
|
||||
|
||||
// Destructor
|
||||
~Demo();
|
||||
|
||||
// Bucle para el juego
|
||||
section_t run();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user