Precàrrega dels fitxers amb dades per al mode demostració

This commit is contained in:
2024-10-20 21:23:04 +02:00
parent b263e0c4be
commit a3a583deb7
6 changed files with 153 additions and 115 deletions

View File

@@ -17,6 +17,10 @@ namespace lang
struct JA_Music_t; // lines 12-12
struct JA_Sound_t; // lines 13-13
// Constantes
constexpr int BLOCK = 8;
constexpr int TOTAL_DEMO_DATA = 2000;
// Dificultad del juego
enum class GameDifficulty
{
@@ -25,9 +29,6 @@ enum class GameDifficulty
HARD = 2,
};
// Tamaño de bloque
constexpr int BLOCK = 8;
// Estructura para definir un circulo
struct Circle
{
@@ -72,6 +73,17 @@ struct DemoKeys
: left(l), right(r), no_input(ni), fire(f), fire_left(fl), fire_right(fr) {}
};
using DemoData = std::vector<DemoKeys>;
struct Demo
{
bool enabled; // Indica si está activo el modo demo
bool recording; // Indica si está activado el modo para grabar la demo
int counter; // Contador para el modo demo
DemoKeys keys; // Variable con las pulsaciones de teclas del modo demo
std::vector<DemoData> data; // Vector con diferentes sets de datos con los movimientos para la demo
};
// Estructura para las opciones de la ventana
struct OptionsWindow
{
@@ -269,6 +281,14 @@ bool stringInVector(const std::vector<std::string> &vec, const std::string &str)
// Imprime por pantalla una linea de texto de tamaño fijo rellena con puntos
void printWithDots(const std::string &text1, const std::string &text2, const std::string &text3);
// Carga el fichero de datos para la demo
DemoData loadDemoDataFromFile(const std::string &file_path);
#ifdef RECORDING
// Guarda el fichero de datos para la demo
bool saveDemoFile(const std::string &file_path, const DemoData &dd);
#endif
// Colores
extern const Color bg_color;
extern const Color no_color;