Está en la página 1de 1

** ROAD RUNNER ***********************

** 1WET 0486 Programación 2022-2023 **


**************************************

Descripción
------------------------------------------------------------
Este proyecto es un simulador básico de conducción, presenta un escenario con un
coche y permite conducir el mismo.
Proporciona una clase roadrunner que habilita todos los elementos encesarios:
- Una carretera, un coche, un panel de estado del sistema y unos métodos para
ofrecer una animación completa del escenario.
- Si el coche colisiona con los arcenes el simulador termina.
Se proporcionan métodos para crear la simulación, animarla y controlar el coche.
Asímismo existe un artibuto que nos indica si se ha producido una colisión.

Utilización de la clase RoadRunner


----------------------------------------------------------
Este proyecto incluye una clase RoadRunner, que posee los siguientes métodos:

RoadRunner(): Constructor, establece todos los recursos necesarios para


iniciar una sesión de conducción.
ej.: RoadRunner r = new RoadRunner();

r.frame(): Muestra el siguiente frame de conducción.


r.close(): Libera los recursos del objeto instanciado, se debe invocar
antes de terminar la aplicación.
r.getdistLeft(): Devuelve un entero con la distancia desde el coche al arcén
izquierdo.
r.getdistRight(): Devuelve un entero con la distancia desde el coche al arcén
derecho.

r.ends: Devuelve false si el coche sigue en la carreta y true si ha


colisionado.

r.turnLeft(int n): Permite girar el volante y desplazar el coche n posiciones


a la izquierda.
r.turnRight(int n): Permite girar el volante y desplazar el coche n posiciones
a la derecha.
Se pueden efectuar desplazamiento de 0,1,2,3
posiciones.

Lógica del simulador


------------------------------------------------------------

El simulador construye un instante fijo de tiempo, en analogía con un vídeo, es una


foto
concreta.
Para dar sensación de movimiento , es preciso invocar repetidamente al método
frame.
La lógica para una simulación completa será por tanto:
1.- Instanciar el objeto
2.- Realizar un bucle mientras no termine la simulación ( 'r.ends')
3.- presentar el frame de simulación
4.- obtener distancias a izq y dcha
5.- decidir que movimiento de conducción aplicar en función de los resultados
6.- Cerrar el objeto y terminar.

También podría gustarte