Está en la página 1de 3

He introducido cuatro nuevos elementos:

Un textfield donde introduzco la letras que se van diciendo

La etiqueta “Introduce una letra” el nombre da igual

Un textfield donde introduciré la letra con nombre “letra” y el botón ok con el nombre “ok”.

En el archivo “PanelPartida.java” se ha realizado un cambio muy importante. El objeto Partida ya no es


una variable local al constructor, sino que pasa a ser un atributo de la clase PanelPartida.

Cuando demos al botón ok.

Una vez que se introduce la letra y se da al botón ok:

- Comprobar que es un carácter (excepción)


******Las excepciones no están aún implementadas.
- Comprobar si existe ese carácter dentro de la palabra y no está dicha.
- Si existe procedemos a cambiar las letras acertadas en palabra escondida y continúa el mismo
jugador con el turno. Se le añade el número de letras acertadas a su puntuación.
***** Aún no está implementado el cambio de turno
*****Esto cambiará porque vamos a simular una ruleta con diferentes acciones.
- Si no existe (se añade a una lista de letras ya dichas que será visible en el tablero)o ya está
lista= Se cambia el turno.

Para implementar la funcionalidad del botón ok insertamos en la clase Panel partida el evento action del
botón ok
Generándose el siguiente método e introduzco la dinámica:

Una vez que se introduce la letra y se da al botón ok: salta el método

- Comprobar que es un carácter (excepción)


***************Las excepciones aún no están implementadas
- Comprobar si existe ese carácter dentro de la palabra y no está dicha. (método acierto de
partida)
- Si existe procedemos a cambiar las letras acertadas en palabra escondida y continúa el mismo
jugador con el turno. (método descubrir de partida)
Se le añade el número de letras acertadas a su puntuación.
************La puntuación cambiará: Esto cambiará porque vamos a simular una ruleta con
diferentes acciones.
- Se añade a una lista de letras ya dichas que será visible en el tablero (método acierto)

- Si no existe () o ya está dicha el método acierto nos devuelve false Se cambia el turno.

El código de la clase Partida se ha cambiado.

fraseEscondida ahora es un StringBuilder y se ha añadido letrasdichas. Es una cadena que


almacenará las letras que ya se han dicho.
******StringBuilder se ha añadido un nuevo tema con la clase StringBuilder en las clases
avanzadas de Java.
Acordaros de cambiar los setter y getter de este atributo.

Implementamos los métodos que utilizamos en PanelPartida sobre el método


okActionPerformed ( Método asociado al hacer click sobre el botón ok)
Fijaros que hace uso de métodos de Partida.
Lo primero que hace es llamar a acierto
 Acierto: Devuelve true si encuentra una ocurrencia del carácter c en PalabraBuscada y
no se ha dicho anteriormente (letrasdichas), en caso contrario nos devuelve false.

Fijaros que este método se encarga además de tener siempre actualizado el atributo
letrasdichas.

Si ha acertado

Llama al método setPuntos, que actualiza los puntos del jugador, con las coincidencias de las
letra, esto nos lo devuelve descubrir ya que el sabe el número de letras que ha descubirto.
Además va a actualizar el atributo fraseecondida

 Descubrir: Devuelve el número de aciertos de ese carácter. Además actualiza


fraseescondida sustituyendo las X por el carácter dicho.

Sino acierta haremos un cambio de turno.

También podría gustarte