Android. Juego del ahorcado (XII). Letra de ayuda.

android gingerbreadSiguiendo con el desarrollo de la parte en la que usamos las entradas de configuración, que empezamos en el post anterior, en este post vamos a modificar el juego para que tenga en cuenta la entrada de configuración “Con ayuda”. Lo que haremos es que, si está activada, elija una letra aleatoria de la palabra oculta y la presente, para que el jugador no empiece desde cero.

Hace ya algunos posts, creamos las entradas de configuración del juego. Si has llegado directamente a este, te recomiendo que antes leas dicho post antes haciendo clic aquí. El menú de configuración, a modo de recordatorio, tiene este aspecto:

La idea para implementar la letra de ayuda es la siguiente:

  • Permitir recuperar el valor de la entrada de configuración “Ayuda”.
  • Conseguir una letra aleatoria de la palabra oculta.
  • Implementar el proceso de incluir la letra en el atributo de letras_acertadas, si se cumple que es inicio de juego y además la entrada de configuración esta activada.
  • Al incluirla en el atributo de letras_acertadas, el programa actuará como si la hubiese pulsado el jugador, por lo que el proceso es el mismo.

Para implementar estos pasos, se han modificado las siguientes clases:

Clase Configuración.

Se ha incluido el método get_ayuda() que nos permitirá recuperar el valor de la entrada de configuración “Con ayuda” (nombre de la entrada de menú con título “Ayuda”). Su aspecto es el siguiente:

public static boolean get_ayuda(Context context)
{
return PreferenceManager.getDefaultSharedPreferences(context)
.getBoolean(“Con ayuda”, true);
}

Clase palabra.

Se ha incluido el método get_letra_aleatoria_ayuda(), que nos permite recuperar una letra de la palabra oculta, de forma aleatoria.

public String get_letra_aleatoria_ayuda()
{
int posicion_aleatoria = (int) Math.ceil(Math.random()*tamanyo_palabra_en_curso());
return getPalabra_en_curso().substring(posicion_aleatoria, posicion_aleatoria + 1);
}

Clase Escenario.

Se ha incluido el método letra_de_ayuda(), que hace de “puente” para llamar al método get_letra_aleatoria_ayuda() de la clase palabra.

private String letra_de_ayuda()
{
return palabra_juego.get_letra_aleatoria_ayuda();
}

Se ha modificado el método onDraw(), de forma que, dentro de la condición que comprueba si es nuevo_juevo, se ha insertado otra condición para saber si tenemos que buscar una letra de ayuda. Reproduzco aquí solamente el fragmento de onDraw() que interesa. Al final del artículo se puede descargar el código fuente completo de este desarrollo a este nivel.

if(nuevo_juego)
{
monigote = new Monigote(canvas);
palabra_juego = new palabra(res, canvas, monigote);
palabra_juego.getPalabra();
nuevo_juego = false;

// Si se ha seleccionado con ayuda…

if (Configuracion.get_ayuda(context))
{
getPalabra_juego().setLetras_acertadas(getPalabra_juego().getLetras_acertadas() + letra_de_ayuda());
}

}

Ahora, si tenemos la opción activada y arrancamos el juego, nos aparecerá una letra como si ya la hubiésemos pulsado.

Notas finales.

El código fuente, a estas alturas, tiene una serie de líneas que, aunque funcionen, se pueden mejorar. En próximos posts modificaremos estas líneas “mejorables”.

Si quieres, puedes bajar el código fuente completo de este desarrollo haciendo clic aquí.

¡Hasta el próximo post!

Acerca de Isildur Fuentes

Apasionado de las buenas historias y aikidoka de la tierra.

Publicado el julio 15, 2011 en Android, Divulgación, EDIB, Programación y etiquetado en , , , , , , . Guarda el enlace permanente. Comentarios desactivados en Android. Juego del ahorcado (XII). Letra de ayuda..

Los comentarios están cerrados.

A %d blogueros les gusta esto: