Corregidos comentarios y diseño de usuarios.

Se han corregido los comentarios, que tenían un asterisco de más.
Se ha diseñado el funcionamiento de la clase LoginSystem.
This commit is contained in:
2022-06-08 10:04:43 +02:00
parent ffd186a2b7
commit 1b77c9996e
12 changed files with 71 additions and 38 deletions
+3
View File
@@ -3,6 +3,7 @@
Es, principalmente, para probar si Gitea renderiza correctamente archivos MD con código de PlantUML integrado. Es, principalmente, para probar si Gitea renderiza correctamente archivos MD con código de PlantUML integrado.
```plantuml ```plantuml
@startuml
class uberelectron.gameSystems.LoginData { class uberelectron.gameSystems.LoginData {
~ String nickname ~ String nickname
~ String password ~ String password
@@ -112,4 +113,6 @@ uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.RoomLoader
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.MachineLoader uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.MachineLoader
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.SaveLoader uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.SaveLoader
uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.LoginSystem uberelectron.gameSystems.GameManager --* uberelectron.gameSystems.LoginSystem
@enduml
``` ```
@@ -42,7 +42,7 @@ public class GameManager
} }
/*** /**
* Realiza el guardado del save y de las salas. * Realiza el guardado del save y de las salas.
*/ */
public void SaveGame() public void SaveGame()
@@ -51,7 +51,7 @@ public class GameManager
rmLoader.SaveAllRoomsToJSON(); rmLoader.SaveAllRoomsToJSON();
} }
/*** /**
* Carga todas las salas que el jugador tenga compradas. * Carga todas las salas que el jugador tenga compradas.
* No activa ninguna de ellas. * No activa ninguna de ellas.
* Todo: Probablemente queramos también autentificar al usuario. * Todo: Probablemente queramos también autentificar al usuario.
@@ -71,7 +71,7 @@ public class GameManager
} }
} }
/*** /**
* Reinicia la sala indicada. * Reinicia la sala indicada.
* Para ello, copia el archivo por defecto a la carpeta de guardado del jugador. * Para ello, copia el archivo por defecto a la carpeta de guardado del jugador.
* Fixme: Quizás en vez de copiar el archivo queramos cargarlo y luego guardarlo... * Fixme: Quizás en vez de copiar el archivo queramos cargarlo y luego guardarlo...
@@ -1,6 +1,6 @@
package uberelectron.gameSystems; package uberelectron.gameSystems;
/*** /**
* Contiene los datos de inicio de sesión del usuario. * Contiene los datos de inicio de sesión del usuario.
* *
* @author Daniel García * @author Daniel García
@@ -4,21 +4,51 @@ public class LoginSystem
{ {
private LoginSystem() {} private LoginSystem() {}
/*** /**
* Permite autentificar a un usuario dado su archivo de datos. * Permite autentificar a un usuario dado su archivo de datos.
* @return True si la autentificación es correcta. False si no. * @return True si la autentificación es correcta. False si no.
*/ */
public static boolean AutentificarUsuario() public static boolean AutentificarUsuario()
{ {
//Se llamará al procedimiento de la DB.
//Se le pasarán los datos de datosUsuario.
// si datosUsuario = null -> LoadFromJSON();
return true; return true;
} }
/*** /**
* Indica si el usuario se ha autentificado correctamente. * Indica si el usuario se ha autentificado correctamente.
* @return True si el usuario está autentificado. False si no lo está. * @return True si el usuario está autentificado. False si no lo está.
*/ */
public static boolean isIsLogged() { return isLogged; } public static boolean IsLogged() { return logged; }
private static boolean isLogged = false;
public static void CrearNuevoUsuario()
{
//Creará un nuevo LoginData:
// Lo guardará como JSON.
// Añadirá el usuario a la DB -> AddUserToDB
}
private void LoadFromJSON()
{
//Carga el JSON desde la ubicación por defecto.
}
private void SaveToJSON()
{
//Guarda el JSON en la ubicación por defecto.
}
private void AddUserToDB()
{
//Inserta directamente a la DB.
}
private static boolean logged = false;
private static LoginData datosUsuario = null;
private static String localDefaultSavePath = "gameData/";
private static String defaultFileName = "user.json";
} }
@@ -15,7 +15,7 @@ ToDo:
*/ */
/*** /**
* Almacena los datos relativos a una máquina. * Almacena los datos relativos a una máquina.
* Esta clase es construida a partir de JSON automáticamente en MachineLoader. * Esta clase es construida a partir de JSON automáticamente en MachineLoader.
* *
@@ -16,7 +16,7 @@ import java.util.HashMap;
*/ */
/*** /**
* Carga los datos de las máquinas desde el JSON de datos y almacena los "prefabs" de las mismas. * Carga los datos de las máquinas desde el JSON de datos y almacena los "prefabs" de las mismas.
* *
* @author Daniel García * @author Daniel García
@@ -79,7 +79,7 @@ public class MachineLoader
list.clear(); list.clear();
} }
/*** /**
* Permite guardar el estado del machineLoader (las máquinas del mapa) a un JSON. * Permite guardar el estado del machineLoader (las máquinas del mapa) a un JSON.
* Utilizado para debug o herramientas de desarrollo. * Utilizado para debug o herramientas de desarrollo.
* @param file Ubicación en que guardar el JSON (Tiene que ser un FileHandle escribible.). * @param file Ubicación en que guardar el JSON (Tiene que ser un FileHandle escribible.).
@@ -102,7 +102,7 @@ public class MachineLoader
" en " + file); " en " + file);
} }
/*** /**
* Añade al mapa la máquina pasada por parámetro. Utiliza el ID de la máquina como Key. * Añade al mapa la máquina pasada por parámetro. Utiliza el ID de la máquina como Key.
* @param machineToAdd Máquina que añadir al mapa. * @param machineToAdd Máquina que añadir al mapa.
*/ */
@@ -111,7 +111,7 @@ public class MachineLoader
machineMap.put(machineToAdd.machineID, machineToAdd); machineMap.put(machineToAdd.machineID, machineToAdd);
} }
/*** /**
* Permite obtener un puntero a una máquina dado su ID. * Permite obtener un puntero a una máquina dado su ID.
* @param machineID ID de la máquina a obtener. * @param machineID ID de la máquina a obtener.
* @return Puntero a la máquina pedida. * @return Puntero a la máquina pedida.
+10 -10
View File
@@ -12,7 +12,7 @@ import java.util.Map;
- Crear el método para calcular la sala. - Crear el método para calcular la sala.
*/ */
/*** /**
* Clase que contiene los datos de la Sala y permite interactuar con ellos. * Clase que contiene los datos de la Sala y permite interactuar con ellos.
* Esta clase es construida desde JSON o BD por el RoomLoader. * Esta clase es construida desde JSON o BD por el RoomLoader.
* *
@@ -29,7 +29,7 @@ public class Room
//Hay que instanciar las cosas que no se instancian en el JSON. //Hay que instanciar las cosas que no se instancian en el JSON.
} }
/*** /**
* DEBUG CONSTRUCTOR!! Para meter datos de prueba. * DEBUG CONSTRUCTOR!! Para meter datos de prueba.
* @param roomName Nombre de la room. * @param roomName Nombre de la room.
* @param width Ancho. * @param width Ancho.
@@ -117,7 +117,7 @@ public class Room
// También podemos tener dos HashMap, uno para los atributos y otro para los máximos. // También podemos tener dos HashMap, uno para los atributos y otro para los máximos.
// Con unos if-else comprobamos/añadimos en el que corresponda según sea la máquina. // Con unos if-else comprobamos/añadimos en el que corresponda según sea la máquina.
/*** /**
* Comprueba si se tiene la capacidad suficiente de un recurso para añadir el valor indicado. * Comprueba si se tiene la capacidad suficiente de un recurso para añadir el valor indicado.
* @param attribute Nombre del recurso a comprobar. * @param attribute Nombre del recurso a comprobar.
* @param valorComprobar Cantidad que se pretende añadir. * @param valorComprobar Cantidad que se pretende añadir.
@@ -140,7 +140,7 @@ public class Room
return true; return true;
} }
/*** /**
* Permite comprobar si se puede añadir una máquina a la sala. * Permite comprobar si se puede añadir una máquina a la sala.
* @param maquinaComprobar Ptr a la máquina que se quiere comprobar. * @param maquinaComprobar Ptr a la máquina que se quiere comprobar.
* @return True si es posible añadir la máquina, False si no hay recursos o espacio suficiente. * @return True si es posible añadir la máquina, False si no hay recursos o espacio suficiente.
@@ -167,7 +167,7 @@ public class Room
} }
/*** /**
* Permite comprobar si hy hueco (se puede poner una máquina) en la posición indicada. * Permite comprobar si hy hueco (se puede poner una máquina) en la posición indicada.
* @param x posición x. * @param x posición x.
* @param y posición y. * @param y posición y.
@@ -183,7 +183,7 @@ public class Room
return false; return false;
} }
/*** /**
* Realiza todas las comprobaciones para ver si es posible colocar la máquina indicada en la posición indicada. * Realiza todas las comprobaciones para ver si es posible colocar la máquina indicada en la posición indicada.
* Hace uso de los otros métodos de comprobación (ComprobarRecursos, ComprobarPosición,...). * Hace uso de los otros métodos de comprobación (ComprobarRecursos, ComprobarPosición,...).
* @param maquinaComprobar Ptr a la máquina. Permite comprobar si se tiene la capacidad de recursos necesaria. * @param maquinaComprobar Ptr a la máquina. Permite comprobar si se tiene la capacidad de recursos necesaria.
@@ -220,7 +220,7 @@ public class Room
} }
/*** /**
* Permite modificar de forma segura los recursos de la sala. Pueden sumarse o restarse. * Permite modificar de forma segura los recursos de la sala. Pueden sumarse o restarse.
* @param resourceName Nombre del recurso a modificar. * @param resourceName Nombre del recurso a modificar.
* @param mod Modificador a aplicar (positivo suma, negativo se resta). * @param mod Modificador a aplicar (positivo suma, negativo se resta).
@@ -257,7 +257,7 @@ public class Room
return true; return true;
} }
/*** /**
* Modifica los recursos de la sala a partir de lo consumido/generado por una máquina. * Modifica los recursos de la sala a partir de lo consumido/generado por una máquina.
* Utilizado al añadir y eliminar una máquina. * Utilizado al añadir y eliminar una máquina.
* @param mc Máquina cuyos recursos se quieren añadir/restar. * @param mc Máquina cuyos recursos se quieren añadir/restar.
@@ -276,7 +276,7 @@ public class Room
} }
/*** /**
* Mueve una máquina de una casilla a otra. * Mueve una máquina de una casilla a otra.
* Como solo la movemos, no hace falta modificar atributos de la sala. * Como solo la movemos, no hace falta modificar atributos de la sala.
* @param oldX Posición X antigua. * @param oldX Posición X antigua.
@@ -306,7 +306,7 @@ public class Room
} }
/*** /**
* Elimina la máquina en la posición indicada. * Elimina la máquina en la posición indicada.
* Devuelve los recursos que esta máquina consumía/generaba. * Devuelve los recursos que esta máquina consumía/generaba.
* @param posX Posición x de la máquina a eliminar. * @param posX Posición x de la máquina a eliminar.
@@ -18,7 +18,7 @@ import java.util.Map;
*/ */
/*** /**
* Clase encargada de gestionar las diferentes salas: * Clase encargada de gestionar las diferentes salas:
* Cargarlas, guardarlas, almacenarlas, ... * Cargarlas, guardarlas, almacenarlas, ...
* Cada sala está guardada en su propio JSON. * Cada sala está guardada en su propio JSON.
@@ -52,7 +52,7 @@ public class RoomLoader
} }
/*** /**
* Carga una Room desde un archivo. * Carga una Room desde un archivo.
* @param file Ubicación del archivo JSON de datos de la Room. (Un FileHandle, preferiblemente, internal.) * @param file Ubicación del archivo JSON de datos de la Room. (Un FileHandle, preferiblemente, internal.)
*/ */
@@ -72,7 +72,7 @@ public class RoomLoader
Gdx.app.log("RoomLoader", "Se ha cargado la Room " + r.roomName + " correctamente."); Gdx.app.log("RoomLoader", "Se ha cargado la Room " + r.roomName + " correctamente.");
} }
/*** /**
* Guarda la Room indicada al archivo indicado. * Guarda la Room indicada al archivo indicado.
* @param roomID ID de la Room a guardar. * @param roomID ID de la Room a guardar.
* @param file Ubicación del archivo JSON de destino. (FileHandle en que se pueda escribir). * @param file Ubicación del archivo JSON de destino. (FileHandle en que se pueda escribir).
@@ -93,7 +93,7 @@ public class RoomLoader
Gdx.app.log("RoomLoader", "Se ha guardado la room " + roomID + " en " + file); Gdx.app.log("RoomLoader", "Se ha guardado la room " + roomID + " en " + file);
} }
/*** /**
* Guarda en JSON todas las salas cargadas. * Guarda en JSON todas las salas cargadas.
*/ */
public void SaveAllRoomsToJSON() public void SaveAllRoomsToJSON()
@@ -105,7 +105,7 @@ public class RoomLoader
} }
} }
/*** /**
* Descarga una Room dado su ID. * Descarga una Room dado su ID.
* @param roomID ID de la Room a descargar. * @param roomID ID de la Room a descargar.
*/ */
@@ -119,7 +119,7 @@ public class RoomLoader
} }
/*** /**
* Permite saber si una Room está cargada. * Permite saber si una Room está cargada.
* @param roomID ID de la Room a comprobar. * @param roomID ID de la Room a comprobar.
* @return True si está cargada, False si no lo está. * @return True si está cargada, False si no lo está.
@@ -129,7 +129,7 @@ public class RoomLoader
return loadedRooms.containsKey(roomID); return loadedRooms.containsKey(roomID);
} }
/*** /**
* Establece la Room activa. * Establece la Room activa.
* La Room debe estar cargada para poder ser la activa. * La Room debe estar cargada para poder ser la activa.
* Si la Room a activar no está cargada, no se cambia la Room activa. * Si la Room a activar no está cargada, no se cambia la Room activa.
@@ -146,7 +146,7 @@ public class RoomLoader
currentRoom = r; currentRoom = r;
} }
/*** /**
* Devuelve la Room actualmente activa. * Devuelve la Room actualmente activa.
* @return Ptr a la Room actualmente activa. * @return Ptr a la Room actualmente activa.
*/ */
+1 -1
View File
@@ -2,7 +2,7 @@ package uberelectron.gameSystems;
import java.util.HashMap; import java.util.HashMap;
/*** /**
* Clase contenedora para los datos de guardado de la partida. * Clase contenedora para los datos de guardado de la partida.
* *
* @author Daniel García. * @author Daniel García.
@@ -9,7 +9,7 @@ public class SaveLoader
{ {
private SaveLoader() {} private SaveLoader() {}
/*** /**
* Permite cargar los datos de una partida desde un archivo JSON. * Permite cargar los datos de una partida desde un archivo JSON.
* @param file FileHandle (internal) del JSON de datos. * @param file FileHandle (internal) del JSON de datos.
* @return El objeto Save que se ha creado. * @return El objeto Save que se ha creado.
@@ -22,7 +22,7 @@ public class SaveLoader
return json.fromJson(Save.class, file); return json.fromJson(Save.class, file);
} }
/*** /**
* Permite guardar un objeto Save a un JSON. * Permite guardar un objeto Save a un JSON.
* @param saveToSerialize Ptr al objeto Save que se quiere guardar. * @param saveToSerialize Ptr al objeto Save que se quiere guardar.
* @param file FileHandle (Escribible, como local) en que guardar el JSON. * @param file FileHandle (Escribible, como local) en que guardar el JSON.
@@ -8,7 +8,7 @@ import com.badlogic.gdx.maps.tiled.tiles.StaticTiledMapTile;
import java.util.HashMap; import java.util.HashMap;
/*** /**
* Clase encargada de cargar las texturas y los assets y gestionarlos. * Clase encargada de cargar las texturas y los assets y gestionarlos.
*/ */
public class TileSetManager public class TileSetManager
@@ -20,7 +20,7 @@ public class TileSetManager
//testSet = new TiledMapTileSet(); //testSet = new TiledMapTileSet();
} }
/*** /**
* Carga los Tiles de un TileSet dada su textura. * Carga los Tiles de un TileSet dada su textura.
* @param path Ubicación de la textura. * @param path Ubicación de la textura.
* @param tileSetName Nombre del TileSet. * @param tileSetName Nombre del TileSet.
@@ -60,7 +60,7 @@ public class TileSetManager
return true; return true;
} }
/*** /**
* Devuelve el TileSet con el nombre indicado. * Devuelve el TileSet con el nombre indicado.
* @param tileSetName Nombre del TileSet a obtener. * @param tileSetName Nombre del TileSet a obtener.
* @return TileSet con el nombre indicado. * @return TileSet con el nombre indicado.
@@ -18,7 +18,7 @@ public class BackEndTest implements Screen
public static MachineLoader mcLoader; public static MachineLoader mcLoader;
public static RoomLoader rmLoader; public static RoomLoader rmLoader;
/*** /**
* Clase para la realización de pruebas del BackEnd. * Clase para la realización de pruebas del BackEnd.
* Carga, guardado y gestión de los diversos datos. * Carga, guardado y gestión de los diversos datos.
* @param game Ptr a la clase Game. * @param game Ptr a la clase Game.