Skip to content

maxifargo/Rain-Rush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rain Rush

Rain Rush es un juego arcade de estilo “atrapa las gotas” desarrollado en Java utilizando el framework LibGDX con el backend LWJGL3 para ejecución en escritorio.
El jugador controla un tarro en la parte inferior de la pantalla, moviéndose lateralmente para recolectar gotas beneficiosas y potenciar su velocidad, mientras esquiva granizos dañinos que reducen sus vidas.


Características Principales

  • Juego de Habilidad:
    El objetivo es maximizar la puntuación recolectando gotas buenas.

  • Sistema de Vidas y Puntuación:
    El jugador comienza con 3 vidas. Perderá una si es golpeado por un granizo.
    Cada gota buena recolectada suma puntos.

  • Potenciador de Velocidad:
    Un tipo especial de gota (Mao Zedong) activa un "boost" temporal que incrementa significativamente la velocidad de movimiento del jugador.

  • Dificultad Progresiva:
    El juego incrementa su desafío con el tiempo. A medida que el jugador sube de nivel, la velocidad de caída de las gotas aumenta exponencialmente y el intervalo entre su aparición disminuye.

  • Fondos Dinámicos:
    El escenario transiciona automáticamente a través de un ciclo de día, tarde y noche, con fundidos suaves entre cada fondo.

  • Gestión de Pantallas:
    La aplicación cuenta con un flujo de juego completo, incluyendo:

    • Menú principal (MainMenuScreen)
    • Pantalla de juego (GameScreen)
    • Pantalla de pausa (PausaScreen)
    • Pantalla de fin de juego (GameOverScreen)
  • Sonido y Música:
    Incluye música de fondo con una introducción y un bucle principal, además de efectos de sonido para:

    • Recolección de gotas
    • Daño recibido
    • Activación de potenciadores
  • Puntuación Alta (High Score):
    El juego guarda y muestra la puntuación más alta alcanzada por el jugador.


Desglose de Clases

GameLluviaMenu.java

Clase principal de la aplicación (extiende Game).
Inicializa los recursos globales como SpriteBatch y BitmapFont, gestiona la puntuación más alta (higherScore) y establece la pantalla inicial (MainMenuScreen).

MainMenuScreen.java

Muestra la pantalla de inicio del juego con una imagen de fondo.
Espera a que el usuario toque la pantalla para comenzar la partida, momento en el que cambia a GameScreen.

GameScreen.java

Núcleo del juego.
Gestiona el ciclo de renderizado, actualiza la lógica del jugador (Tarro) y de la lluvia (Lluvia), dibuja el HUD (vidas, puntos, nivel), y maneja las transiciones de los fondos dinámicos y la música.

Tarro.java

Representa al jugador.
Gestiona su posición, movimiento horizontal y estados (normal, herido o con boost de velocidad).
También almacena las vidas y los puntos actuales.

Lluvia.java

Controla la lógica de los objetos que caen.
Genera gotas en posiciones aleatorias, determina su tipo (buena, mala o potenciador), detecta colisiones con el Tarro y aplica los efectos correspondientes (sumar puntos, restar vida, activar boost).

PausaScreen.java

Pantalla simple que se activa al presionar ESC durante el juego, deteniendo la lógica de la partida.

GameOverScreen.java

Se muestra cuando el jugador pierde todas sus vidas.
Presenta una imagen de "Game Over" y permite reiniciar la partida tocando la pantalla.


Assets Requeridos

Para que el juego funcione correctamente, la carpeta assets debe contener los siguientes archivos (referenciados en el código):

Imágenes

  • menu_background.png
  • gameover.png
  • bucket.png (Jugador)
  • drop.png (Gota buena)
  • dropBad.png (Gota mala / Granizo)
  • gotaPower.jpg (Potenciador)
  • background_day.png
  • background_evening.png
  • background_night.png
  • nube1.png
  • nube2.png

Sonidos y Música

  • hurt.ogg (Sonido de daño)
  • drop.wav (Sonido de recolección)
  • powerup.mp3 (Sonido de potenciador)
  • musicintro.ogg (Música de introducción)
  • musicloop.ogg (Música en bucle)
  • rain.mp3 (Sonido ambiente de lluvia)

Requisitos del Sistema

  • Lenguaje: Java 8 o superior
  • version JDK: 11 o superior
  • Framework: LibGDX
  • Backend: LWJGL3 (Lightweight Java Game Library 3)
  • Herramienta de compilación: Gradle o IntelliJ IDEA
  • Sistema operativo: Windows, Linux o macOS

Ejecución del Proyecto

  1. Clonar el repositorio:

    bash
    git clone https://github.com/usuario/rain-rush.git
    
  2. Abrir el proyecto en tu IDE preferido (por ejemplo, IntelliJ IDEA o Eclipse).

  3. En caso de no verse bien las carpetas hacerle click derecho/gradle/refresh gradle proyect para que compile bien

  4. Asegurarse de tener configurado el módulo LWJGL3 (por defecto en los proyectos de LibGDX modernos). El punto de entrada se encuentra en:

  5. desktop(lwjgl3)/src/main/java/puppy.code.lwjgl3/lwjgl3Launcher.java

  6. Ejecutar la clase Lwjgl3Launcher para iniciar el juego.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages