jueves, 23 de enero de 2020

Máquina del tiempo


En 1985, El doctor Emmet Brown consiguió hacer realidad el sueño de su vida, gracias al condensador de fluzo.
Los espectadores no sabían cómo funcionaba, pero sí se les dijeron las condiciones que debía cumplir para funcionar: La velocidad debía ser mayor que 140 km/h y la energía disponible para realizar el viaje debía ser de 1,5 Gw. Sabiendo esto, vamos a crear un prototipo de una máquina del tiempo.







CONCURSO:
Crea la mejor máquina del tiempo posible. El mejor grupo del aula recibirá 0,25 puntos más en la evaluación (Por cada miembro)
(Cuidado con introducir fechas incorrectas)

Posible solución (Con muchas mejoras posibles):


A continuación, la clase Fecha (Nótese que faltaría poner privado el acceso a los atributos y el método booleano estático validarFecha al que se le pasa una cadena de caracteres, devolviéndonos si se ha elegido una fecha correcta o no)
Métodos getter y setters normales.
Dos constructores que me crean un objeto Fecha, uno de ellos (por defecto) pone el día a 25 de Enero de 2020.
El segundo crea el objeto Fecha con los valores que se le introduzcan como parámetro. (Nótese que podría aquí también incluirse la validación del objeto Fecha, aunque está implementado en la clase DeLorean). En la imagen el código se presenta compacto para una mejor comprensión
La siguiente es la clase DeLorean, la clase más importante porque es la que se encarga de instanciar el vehículo, como anteriormente se muestra el código compacto para no ocupar demasiado espacio en la página (Curiosamente vemos que el método get de un booleano empieza por is). El constructor por defecto nos pone los valores a cero de la velocidad y la energía, nos crea un nuevo objeto fecha con el valor inicial de nuestro viaje y nos pone el valor del condensador de fluzo a false;

Los siguientes métodos de la clase DeLorean nos permitirán viajar en el tiempo


Si la fecha no es válida, no cambiará ni la fecha ni la velocidad ni la energía. Si la fecha es válida y se cumplen las condiciones, la energía se convertirá a cero(Aunque también podría aplicarse una resta de 1,5 GigaWattios)
Método toString, que nos muestra el estado  de la máquina




Por último, tenemos la clase main, donde instanciamos la máquina, damos valores y probamos el viaje en el tiempo.
Mejoras posibles (Aparte de poner el código más estético, y poner la accesibilidad de los atributos privada, puede crearse un método recoger información en el DeLorean, que nos permita sacar los titulares más importantes del año en el que se encuentre la máquina)

Saludos,
Alfredo de la Presa Cruz

No hay comentarios:

Publicar un comentario