Nivel 1 | Nivel 2 | Nivel "Prorider" | Ganar | |
---|---|---|---|---|
Monedas | 0 | 100 | 200 | 300 |
Presionar las teclas ← y → para moverse hacia la izquierda y derecha respectivamente.
Objeto principal (juego): Gestiona la lógica central, niveles, entidades, eventos y la configuración del juego.
Clases auxiliares (Level, Auto, Moneda): Modelan las entidades del juego.
Objetos visuales (f1, victoria, derrota): Representan el estado del juego (auto principal, pantalla de victoria, pantalla de derrota).
Eventos periódicos (onTick): Se generan entidades (autos y monedas) y se actualizan sus posiciones periódicamente.
Se utiliza el método nAleatoriosSinRepetir() para generar posiciones aleatorias en el eje X, evitando duplicados.Las posiciones se asignan a las entidades (autos y monedas) antes de ser añadidas al tablero.
Nivel 1:
• Tiempo de aparición de entidades: 1200 ms
• Intervalos de movimiento: 700 ms
Nivel 2:
• Tiempo de aparición de entidades: 1000 ms
• Intervalos de movimiento: 400 ms
Nivel Pro Rider:
• Tiempo de aparición de entidades: 1000 ms
• Intervalos de movimiento: 300 ms
configurarTeclas(): Asigna las teclas de movimiento.
agregarAuto(): Añade un auto al tablero.
agregarMoneda(): Añade una moneda al tablero.
limpiar(): Limpia las listas de entidades y posiciones aleatorias.
terminarCon(): Finaliza el juego (victoria o derrota).
actualizarNivelDe(): Actualiza el nivel en función de la puntuación del jugador. Encapsulamiento: Cada entidad (Auto, Moneda, Level) maneja su propio comportamiento.
Polimorfismo: Por ejemplo la clase Auto y Moneda comprenden el mísmo método esChocadoPor() (la consecuencia es diferente para cada una).
Herencia: Aunque no hay una herencia explícita, los métodos reutilizan lógica común.
Abstracción: Cada método y objeto tiene una responsabilidad clara y específica.