Class PasaPalabra
java.lang.Object
Modelo.Juego
Modelo.PasaPalabra
Implementación del juego PasaPalabra.
Extiende la clase abstracta Juego y adapta la lógica original de consola
para integrarse con la arquitectura de capas del proyecto.
- Version:
- 2.1
- Author:
- Adrián
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprivate intprivate intprivate intprivate intprivate String[][]rosco[i][0] = letra rosco[i][1] = definición rosco[i][2] = respuesta correcta rosco[i][3] = estado (PENDIENTE / CORRECTA / INCORRECTA / PASAPALABRA)Fields inherited from class Juego
descripcion, juegoFinalizado, listaPuntuacionPorJugador, nombreJuego -
Constructor Summary
ConstructorsConstructorDescriptionCrea una nueva partida de PasaPalabra con dificultad Fácil (nivel 1).PasaPalabra(int nivel) Crea una nueva partida de PasaPalabra con el nivel de dificultad indicado. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidprivate static String[][]cargarDatos(int nivel) private voidintCuenta cuántas letras quedan por resolver (pendientes o marcadas como pasapalabra).voiddeserializarEstado(String estado) Reconstruye el estado del juego a partir del String guardado en disco.intString[]getDatosLetra(int indice) Devuelve los datos de una letra del rosco por su índice.Devuelve una representación en texto del estado actual del juego.intintintgetNivel()intintDevuelve el número total de letras del rosco.voidInicializa el estado del juego antes de empezar una partida.static StringlimpiarTexto(String texto) Normaliza un texto eliminando tildes y convirtiendo a minúsculas.private StringvoidMarca la letra actual como pasapalabra y avanza a la siguiente letra pendiente.booleanprocesarRespuesta(String respuesta) Procesa la respuesta del usuario para la letra actual.private static FileresolverRuta(String nombreFichero) Formato: letraActual,aciertos,fallos,pasapalabras,estado0,...,estado26voidterminar()Marca el juego como finalizado.Methods inherited from class Juego
getDescripcion, getNombre, getPuntuacion, getPuntuaciones, isTerminado, sumarPuntos
-
Field Details
-
ESTADO_PENDIENTE
- See Also:
-
ESTADO_CORRECTA
- See Also:
-
ESTADO_INCORRECTA
- See Also:
-
ESTADO_PASAPALABRA
- See Also:
-
DIR_ROSCOS
- See Also:
-
rosco
rosco[i][0] = letra rosco[i][1] = definición rosco[i][2] = respuesta correcta rosco[i][3] = estado (PENDIENTE / CORRECTA / INCORRECTA / PASAPALABRA) -
letraActual
private int letraActual -
nivel
private int nivel -
aciertos
private int aciertos -
fallos
private int fallos -
pasapalabras
private int pasapalabras
-
-
Constructor Details
-
PasaPalabra
public PasaPalabra(int nivel) Crea una nueva partida de PasaPalabra con el nivel de dificultad indicado.- Parameters:
nivel- nivel de dificultad: 0=Infantil, 1=Fácil, 2=Medio, 3=Avanzado
-
PasaPalabra
public PasaPalabra()Crea una nueva partida de PasaPalabra con dificultad Fácil (nivel 1).
-
-
Method Details
-
inicializar
public void inicializar()Description copied from class:JuegoInicializa el estado del juego antes de empezar una partida. Cada subclase define qué significa inicializar: cargar preguntas, limpiar el tablero, resetear contadores, etc.- Specified by:
inicializarin classJuego
-
getEstadoTexto
Description copied from class:JuegoDevuelve una representación en texto del estado actual del juego. La vista utiliza este método para mostrar la información al jugador sin conocer los detalles internos de cada juego.- Specified by:
getEstadoTextoin classJuego- Returns:
- String con el estado actual del juego.
-
serializarEstado
Formato: letraActual,aciertos,fallos,pasapalabras,estado0,...,estado26- Specified by:
serializarEstadoin classJuego- Returns:
- String con el estado serializado.
-
deserializarEstado
Description copied from class:JuegoReconstruye el estado del juego a partir del String guardado en disco. Es el proceso inverso a serializarEstado().- Specified by:
deserializarEstadoin classJuego- Parameters:
estado- String con el estado serializado previamente.
-
terminar
-
procesarRespuesta
Procesa la respuesta del usuario para la letra actual.- Returns:
- true si es correcta, false si es incorrecta
-
pasarPalabra
public void pasarPalabra()Marca la letra actual como pasapalabra y avanza a la siguiente letra pendiente. No hace nada si el juego ya ha terminado o el rosco no está cargado. -
getAciertos
public int getAciertos()- Returns:
- número de letras acertadas hasta el momento
-
getFallos
public int getFallos()- Returns:
- número de letras acertadas hasta el momento
-
getPasaPalabras
public int getPasaPalabras()- Returns:
- número de letras marcadas como pasapalabra hasta el momento
-
getLetraActual
public int getLetraActual()- Returns:
- índice de la letra que se está respondiendo actualmente
-
getNivel
public int getNivel()- Returns:
- nivel de dificultad del rosco (0=Infantil, 1=Fácil, 2=Medio, 3=Avanzado)
-
getDatosLetra
Devuelve los datos de una letra del rosco por su índice.- Parameters:
indice- posición en el rosco (0-26)- Returns:
- array
[letra, definición, respuesta, estado], onullsi el índice es inválido
-
contarPendientes
public int contarPendientes()Cuenta cuántas letras quedan por resolver (pendientes o marcadas como pasapalabra).- Returns:
- número de letras sin respuesta definitiva
-
getTotalLetras
public int getTotalLetras()Devuelve el número total de letras del rosco.- Returns:
- total de letras (normalmente 27)
-
avanzarAProximaPendiente
private void avanzarAProximaPendiente() -
comprobarFinDeJuego
private void comprobarFinDeJuego() -
obtenerUsernameJugador
-
limpiarTexto
Normaliza un texto eliminando tildes y convirtiendo a minúsculas. Se usa para comparar respuestas sin distinguir acentos ni mayúsculas.- Parameters:
texto- texto a normalizar; si esnulldevuelve cadena vacía- Returns:
- texto normalizado en minúsculas y sin tildes
-
resolverRuta
-
cargarDatos
-