Skip to content

kno/space-invaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Invaders 3D

Clon de Space Invaders en primera persona desarrollado con JavaFX 3D. Los invasores forman una cuadrícula en el espacio y avanzan hacia ti mientras los eliminas desde una perspectiva FPS.

Requisitos

  • Java 21+ (probado con OpenJDK 24)
  • Maven 3.8+

Compilar y ejecutar

mvn javafx:run

Esto descarga las dependencias de JavaFX automáticamente, compila el proyecto y lanza el juego.

Si solo quieres compilar sin ejecutar:

mvn compile

Controles

Tecla Acción
A / D Desplazarse izquierda / derecha
W / S Desplazarse arriba / abajo
Mover la mira
SPACE / Click Disparar
Ratón Apuntar (alternativo a las flechas)
P Pausar / reanudar
ENTER Iniciar partida (pantalla de título)
H Ver Hall of Fame (pantalla de título)
ESC Volver (Hall of Fame)

Características

Vista en primera persona

La cámara se sitúa en la posición del jugador mirando hacia los invasores. La cuadrícula de fondo y el campo de estrellas dan sensación de profundidad. Cuando los invasores se acercan demasiado, la pantalla se tiñe de rojo como aviso de peligro.

Niveles

La dificultad aumenta progresivamente en cada nivel:

  • Más filas y columnas de invasores
  • Mayor velocidad de movimiento y cadencia de disparo
  • Aparecen tipos de enemigos más resistentes:
Tipo Color Vidas Puntos
Básico Verde 1 10
Rápido Cyan 1 20
Resistente Naranja 2 30
Élite Rojo 2 50

Power-Ups

Al destruir un invasor hay una probabilidad de que suelte un power-up que viaja hacia tu posición:

Símbolo Nombre Efecto Duración
R Rapid Fire Duplica la cadencia de disparo 8 s
S Shield Absorbe un impacto Hasta recibir daño
M Multi Shot Dispara 3 balas a la vez 10 s
V Speed Boost Aumenta la velocidad de movimiento 8 s
+ Extra Life Otorga una vida extra Permanente
x2 Score x2 Duplica los puntos obtenidos 12 s

Añadir un power-up nuevo

  1. Crea una clase que implemente com.spaceinvaders.powerup.PowerUp
  2. Regístrala en PowerUpRegistry:
PowerUpRegistry.register(MiNuevoPowerUp::new);

Hall of Fame

Los 10 mejores puntajes se guardan en ~/.space-invaders-scores.txt. Al terminar una partida con puntaje suficiente, se pide el nombre del jugador.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages