Adivina Cuál

Descripción global

Se desea desarrollar un juego que sea capaz de adivinar un animal que ha sido pensado por el usuario, a partir de un conjunto de animales predefinidos. Se espera que la aplicación lo pueda hacer a través de una serie de preguntas cuya respuesta sea sí o no.

En caso que el animal pensado por el usuario no es conocido por la aplicación, ésta debe pedirle al usuario que ingrese ese nuevo animal y la nueva pregunta que debe hacerse para distinguirlo de los ya existentes, y en particular del propuesto por la aplicación: de esta manera la aplicación puede ir aprendiendo. La aplicación debe validar que el animal que se está agregando no exista.

Ya que se piensa utilizar un árbol para estructurar la aplicación, se puede conocer cierta información acerca de él:

- Peso.
- Altura.
- Recorrido Preorden.
- Recorrido Postorden.
- Recorrido Inorden.

Se tienen dos escenarios posibles para empezar el juego: Con un árbol vacío o con un árbol ya definido con animales y sus respectivas imágenes. Cuando el árbol empieza vacío, se solicita al usuario que ingrese un primer animal y luego puede seguir aprendiendo con el mismo mecanismo explicado anteriormente.

Objetivos del ejercicio

El objetivo de este ejercicio es que el estudiante comprenda y adquiera práctica en:

- El desarrollo de aplicaciones siguiendo un proceso incremental
- El manejo de estructuras recursivas
- El desarrollo de algoritmos recursivos
- El desarrollo de pruebas unitarias en junit para las clases del ejercicio.

Interfaz

 n11 adivinaCual

Se muestra al usuario un conjunto de animales de los cuales tiene que pensar en uno

 

n11 adivinaCual 2

Interfaz principal de la aplicación