Empezado a escribir datos de estadisticas en el servidor
This commit is contained in:
@@ -22,7 +22,7 @@ Director::Director(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Crea e inicializa las opciones del programa
|
// Crea e inicializa las opciones del programa
|
||||||
iniOptions();
|
initOptions();
|
||||||
|
|
||||||
// Comprueba los parametros del programa
|
// Comprueba los parametros del programa
|
||||||
checkProgramArguments(argc, argv);
|
checkProgramArguments(argc, argv);
|
||||||
@@ -59,7 +59,7 @@ Director::Director(int argc, char *argv[])
|
|||||||
music = JA_LoadMusic(asset->get("title.ogg").c_str());
|
music = JA_LoadMusic(asset->get("title.ogg").c_str());
|
||||||
|
|
||||||
// Inicializa los servicios online
|
// Inicializa los servicios online
|
||||||
//initOnline();
|
initOnline();
|
||||||
}
|
}
|
||||||
|
|
||||||
Director::~Director()
|
Director::~Director()
|
||||||
@@ -132,7 +132,7 @@ void Director::initOnline()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Crea e inicializa las opciones del programa
|
// Crea e inicializa las opciones del programa
|
||||||
void Director::iniOptions()
|
void Director::initOptions()
|
||||||
{
|
{
|
||||||
// Crea el puntero a la estructura de opciones
|
// Crea el puntero a la estructura de opciones
|
||||||
options = new options_t;
|
options = new options_t;
|
||||||
@@ -161,9 +161,13 @@ void Director::iniOptions()
|
|||||||
|
|
||||||
// Online
|
// Online
|
||||||
options->online.enabled = false;
|
options->online.enabled = false;
|
||||||
options->online.server = "";
|
options->online.server = "jaildoctor.duckdns.org";
|
||||||
options->online.port = 0;
|
options->online.port = 9911;
|
||||||
|
#ifdef DEBUG
|
||||||
options->online.gameID = "jaildoctors_dilemma_test";
|
options->online.gameID = "jaildoctors_dilemma_test";
|
||||||
|
#else
|
||||||
|
options->online.gameID = "jaildoctors_dilemma";
|
||||||
|
#endif
|
||||||
options->online.jailerID = "";
|
options->online.jailerID = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,12 +51,12 @@ private:
|
|||||||
section_t section; // Sección y subsección actual del programa;
|
section_t section; // Sección y subsección actual del programa;
|
||||||
std::string systemFolder; // Carpeta del sistema donde guardar datos
|
std::string systemFolder; // Carpeta del sistema donde guardar datos
|
||||||
|
|
||||||
|
// Crea e inicializa las opciones del programa
|
||||||
|
void initOptions();
|
||||||
|
|
||||||
// Inicializa los servicios online
|
// Inicializa los servicios online
|
||||||
void initOnline();
|
void initOnline();
|
||||||
|
|
||||||
// Crea e inicializa las opciones del programa
|
|
||||||
void iniOptions();
|
|
||||||
|
|
||||||
// Comprueba los parametros del programa
|
// Comprueba los parametros del programa
|
||||||
void checkProgramArguments(int argc, char *argv[]);
|
void checkProgramArguments(int argc, char *argv[]);
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
|
text = new Text(resource->getOffset("smb2.txt"), resource->getTexture("smb2.png"), renderer);
|
||||||
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
||||||
deathSound = JA_LoadSound(asset->get("death.wav").c_str());
|
deathSound = JA_LoadSound(asset->get("death.wav").c_str());
|
||||||
stats = new Stats(asset->get("stats.csv"));
|
stats = new Stats(asset->get("stats.csv"), options);
|
||||||
stats->addVisit(room->getName());
|
stats->addVisit(room->getName());
|
||||||
|
|
||||||
// Inicializa el resto de variables
|
// Inicializa el resto de variables
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
#include "stats.h"
|
#include "stats.h"
|
||||||
|
#include "common/jscore.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Stats::Stats(std::string file)
|
Stats::Stats(std::string file, options_t *options)
|
||||||
{
|
{
|
||||||
|
this->options = options;
|
||||||
filePath = file;
|
filePath = file;
|
||||||
list.clear();
|
list.clear();
|
||||||
loadFromFile();
|
loadFromFile();
|
||||||
@@ -17,6 +19,7 @@ Stats::~Stats()
|
|||||||
#ifndef DEBUG
|
#ifndef DEBUG
|
||||||
saveToFile();
|
saveToFile();
|
||||||
#endif
|
#endif
|
||||||
|
saveToServer();
|
||||||
list.clear();
|
list.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,6 +134,15 @@ bool Stats::loadFromFile()
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Carga las estadisticas desde un servidor
|
||||||
|
bool Stats::loadFromServer()
|
||||||
|
{
|
||||||
|
if (options->online.enabled)
|
||||||
|
{
|
||||||
|
jscore::getUserData(options->online.gameID, options->online.jailerID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Guarda las estadisticas en un fichero
|
// Guarda las estadisticas en un fichero
|
||||||
void Stats::saveToFile()
|
void Stats::saveToFile()
|
||||||
{
|
{
|
||||||
@@ -155,4 +167,17 @@ void Stats::saveToFile()
|
|||||||
|
|
||||||
// Cierra el fichero
|
// Cierra el fichero
|
||||||
file.close();
|
file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Guarda las estadisticas en un servidor
|
||||||
|
void Stats::saveToServer()
|
||||||
|
{
|
||||||
|
if (options->online.enabled)
|
||||||
|
{
|
||||||
|
for (auto item : list)
|
||||||
|
{
|
||||||
|
const std::string data = item.name + ";" + std::to_string(item.visited) + ";" + std::to_string(item.died);
|
||||||
|
jscore::setUserData(options->online.gameID, options->online.jailerID, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -17,9 +17,12 @@ struct stats_t
|
|||||||
class Stats
|
class Stats
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
// Punteros y objetos
|
||||||
|
options_t *options;
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
std::vector<stats_t> list; // Lista con las estadisticas por habitación
|
std::vector<stats_t> list; // Lista con las estadisticas por habitación
|
||||||
std::string filePath; // Fichero con las estadísticas
|
std::string filePath; // Fichero con las estadísticas
|
||||||
|
|
||||||
// Busca una entrada en la lista por nombre
|
// Busca una entrada en la lista por nombre
|
||||||
int findByName(std::string name);
|
int findByName(std::string name);
|
||||||
@@ -27,12 +30,18 @@ private:
|
|||||||
// Carga las estadisticas desde un fichero
|
// Carga las estadisticas desde un fichero
|
||||||
bool loadFromFile();
|
bool loadFromFile();
|
||||||
|
|
||||||
|
// Carga las estadisticas desde un servidor
|
||||||
|
bool loadFromServer();
|
||||||
|
|
||||||
// Guarda las estadisticas en un fichero
|
// Guarda las estadisticas en un fichero
|
||||||
void saveToFile();
|
void saveToFile();
|
||||||
|
|
||||||
|
// Guarda las estadisticas en un servidor
|
||||||
|
void saveToServer();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Stats(std::string file);
|
Stats(std::string file, options_t *options);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Stats();
|
~Stats();
|
||||||
|
|||||||
Reference in New Issue
Block a user