Simulador de Triatlón

Simulador de Campeonato de Triatlón

DDesarrollé un simulador completo de campeonatos de triatlón utilizando Java, aplicando principios sólidos de POO y técnicas avanzadas como multihilos, eventos, MVC y persistencia de datos. El sistema reproduce carreras reales con variaciones climáticas, rendimiento dinámico de atletas y reglamento oficial del triatlón.

  • Arquitectura MVC aplicada en toda la solución
  • Programación multihilo para simular atletas en tiempo real
  • Eventos y listeners para interacción dinámica
  • Persistencia mediante serialización y XML
  • Conexión a Base de Datos (PostgreSQL) para condiciones climáticas
  • Gestión completa de atletas, categorías y distancias reglamentarias
  • Simulación visual con interfaz desarrollada en Java Swing
  • Estadísticas y reportes detallados por carrera y campeonato
Categoría
Desarrollo de Software
Cliente
Proyecto académico
Locación
Mar del Plata, Argentina
Publicado
Noviembre 04, 2024

Resumen del Proyecto

El proyecto consistió en el desarrollo completo de un simulador de campeonatos de triatlón que reproduce fielmente competencias reales. El sistema integra múltiples componentes: gestión de atletas y carreras, cálculo de tiempos por disciplina, penalizaciones, condiciones climáticas importadas desde base de datos y simulación visual del progreso en tiempo real.

La arquitectura se construyó utilizando el patrón Modelo–Vista–Controlador, favoreciendo un código modular y de bajo acoplamiento. Para la simulación simultánea de atletas, implementé multithreading, permitiendo que cada participante avance según su condición física, clima, energía y eventos aleatorios.

La aplicación persiste y recupera estados mediante serialización, integra datos externos mediante XML, y utiliza PostgreSQL para administrar condiciones climáticas dinámicas. También se desarrollaron reportes de desempeño, clasificaciones generales y estadísticas detalladas de cada atleta.

Este proyecto me permitió aplicar de manera integral conceptos avanzados de Java, POO, estructuras de datos, diseño de interfaces (Swing) y persistencia.