Street Fighter Java Edition
Versión educativa y funcional del clásico Street Fighter II, desarrollada con Java SE
Este proyecto pone en práctica muchos de los conceptos clave impartidos a lo largo de los dos cursos del ciclo formativo de DAM, desde estructuras de control hasta hilos y almacenamiento en memoria. El juego está diseñado como aplicación de escritorio, y destaca por su arquitectura clara, uso del paradigma orientado a objetos y simulación de animaciones y lógica de combate entre personajes.
⚙️ Tecnologías y conceptos aplicados
- Java SE (Java Standard Edition)
- Programación orientada a objetos
- Interfaces y herencia
- Estructuras de control (
if
,while
,for
,switch
) - Hilos (
Thread
) para animaciones, temporizadores y sincronización de movimientos - Eventos de teclado (
KeyListener
) para controlar los personajes - Almacenamiento dinámico (
ArrayList
,HashMap
) - Almacenamiento estático (
arrays
) - Carga de recursos: imágenes, música y efectos desde el sistema de archivos
- Patrones de diseño básicos (como MVC adaptado)
- Documentación Javadoc
- Organización del código en paquetes:
modelo
,vista
,controlador
- Gestión de errores (
try-catch
) - Gestión de dependencias (
Maven
)
🎮 Funcionalidades principales
- Selección de personajes
- Movimiento en tiempo real y ataques
- Control por teclado
- Animaciones con sprites
- Sonido y música de fondo
- Interfaz gráfica personalizada con
JFrame
,JPanel
yGraphics2D
- Colisiones y detección de impactos
- Control de vida y victoria
🚀 Objetivo educativo
Este proyecto está orientado a consolidar los conocimientos adquiridos en el CFGS DAM, integrando temas como:
- Diseño modular de software
- Desarrollo de interfaces gráficas
- Programación multihilo
- Gestión de eventos
- Reutilización de código
- Buenas prácticas de programación