Ejercicios Para Practicar
- Clase Juego
Implementar
una clase Juego con las siguientes características:
- Atributos
Tiene
como atributo público un entero que indica el número de vidas que le quedan al
jugador en la partida actual.
- Métodos
Tiene
como método el constructor que acepta un parámetro de tipo entero que indica el
número de vidas iniciales con las que parte el jugador.
Tiene
un método MuestraVidasRestantes que visualiza por pantalla el número de vidas
que le quedan al jugador en la partida actual.
Además
esta clase tiene también el main que debe realizar lo siguiente: Crea una
instancia de la clase Juego indicando que el número de vidas es 5, llama al
método MuestraVidasRestantes del objeto creado, resta una vida al valor del
atributo con las vidas y vuelve a llamar a MuestraVidasRestantes, crea otra
instancia de la clase Juego indicando que el número de vidas es también de 5, llama
al método MuestraVidasRestantes de la nueva instancia y luego al de la
instancia anterior
EJERCICIO N°2 (herencia y polimorfismo)
En
este ejercicio se va a implementar un juego en el que el usuario1 tenga que adivinar
un número que conoce el programa. El código correspondiente a cada clase que se
implemente deberá estar en un chero java separado y que tenga el mismo nombre
que la clase.
- Clase Juego
Añadirle
un método abstracto Juega que no tome parámetros y que tendrán que implementar
las clases derivadas. La clase Juego ahora pasa a ser una clase abstracta por
lo que ya no se podrán crear instancias de la misma.
- Clase JuegoAdivinaNumero
Deriva
de la clase Juego.Tiene un constructor que toma dos parámetros de tipo entero.
El primero es el número de vidas que, a su vez, se lo pasará al constructor de
la clase base. El segundo parámetro es un número a adivinar entre 0 y 10. Implementa
el método Juega de la clase base: Llama al método ReiniciaPartida que ha
heredado. Muestra un mensaje al usuario pidiendo que adivine un número entre el
0 y el 10.
Lee
un entero del teclado y lo compara con el valor predefinido por el programador:
Si es igual, muestra un mensaje Acertaste!! y, tras llamar a ActualizaRecord,
sale del método.Si es diferente, llama al método QuitaVida heredado.Si el
método QuitaVida devuelve true, significa que aún le quedan más vidas al
jugador por lo que se muestra un mensaje indicando
Si
el número a adivinar es mayor o menor y se le pide que lo intente de nuevo.Si
el método QuitaVida devuelve false significa que ya no le quedan más vidas al
jugador, con lo que sale del método Juega.
- Clase Aplicacion
Contiene
un main que, tras crear una instancia de la nueva clase JuegoAdivinaNumero que
se ha creado, llama al método Juega.
EJERCICIO N° 3 (interfaces y arrays)
- Interfaces
En
este ejercicio se va a implementar una interfaz Jugable que implementarán los juegos desarrollados hasta ahora y nuevos
que se desarrollen. Esta interfaz nos permitirá especificar una serie de
operaciones comunes que deben implementar todos los juegos y que nos permitirán
manejarlos de forma genérica posteriormente.
- Clase Juego
Se eliminará
su método abstracto Juega, pero la clase se seguirá manteniendo como abstracta
ya que no interesa que se creen instancias de ellas directamente.
Interfaz Jugable
Dispondrá
de un método Juega que cumplirá el mismo objetivo que el que se ha quitado a la
clase Juego.Se incorporará un método MuestraNombre que no tome ningún parámetro
y que obligue a las clases que implementen la interfaz a mostrar un mensaje por
pantalla con el nombre del juego. Se incorporará un método MuestraInfo que no
tome ningún parámetro y que obligue a las clases que implementen la interfaz a
mostrar un mensaje por pantalla con una descripción de cómo jugar al juego.
- Clase JuegoAdivinaNumero
Debe
implementar la interfaz Jugable.El método MuestraNombre visualizará por
pantalla el texto
- Adivina un número
El
método MuestraInfo, visualizará por pantalla una descripción de cómo se juega
al juego, informando del número de intentos que se le dan al jugador.
- Clase JuegoAdivinaPar
Redefine
el método MuestraNombre para que visualice por pantalla el texto Adivina un número
par. Redefine el método MuestraInfo
- Clase JuegoAdivinaImpar
Redefine
el método MuestraNombre para que visualice por pantalla el texto Adivina un
número impar.Redefine el método MuestraInfo
- Clase Aplicación
En
el método main creará un objeto de cada uno de los juegos mencionados. A
continuación llama los métodos MuestraNombre, MuestraInfo y Juega de cada uno
de los tres objetos creados.
Arrays
Para
comprender la utilidad de las interfaces, implementamos en este ejercicio un
array de interfaces que permitirá invocar a cualquiera de los tres juegos de
forma genérica.
- Clase Aplicacion
Método
EligeJuego. Método público y estático que no toma parámetros y devuelve un
objeto del tipo Jugable. Crea un objeto de cada uno de los tres juegos
implementados. Crea un array de tres elementos de tipo interfaz Jugable. Rellena
este array con los objetos creados para los distintos juegos.
A
partir de este momento, sólo se trabajará con este array de tipo interfaz
Jugable para referirse a cualquiera de los juegos. Muestra un menú por pantalla
con el nombre de los tres juegos y pide al usuario que elija un juego
introduciendo un número entre 0 y 2. Si el número introducido no es válido,
seguirá pidiendo al usuario un número válido. Devuelve el elemento del array
correspondiente al número introducido por el usuario.
- Main
Llama
al método EligeJuego para obtener una referencia de tipo interfaz Jugable al
juego seleccionado por el usuario. Llama al método MuestraNombre de este juego.
A continuación llama al método MuestraInfo del juego. Llama al método Juega del
mismo para comenzar una nueva partida. Finalmente, tras concluir la partida,
pregunta al usuario si desea jugar de nuevo y en caso afirmativo vuelve a
repetir los pasos anteriores.
Comentarios
Publicar un comentario