Skip to content

sorgazb/Java_Cycling_Championship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 

Repository files navigation

Java Cycling Championship

Java Cycling Championship Screenshot

Java Eclipse Herencia Comparators DP - UEX

Java Cycling Championship es una simulación de un campeonato ciclista desarrollada en Java como proyecto final de la asignatura Diseño y Programación (DP) del Grado en Ingeniería Informática y de Computadores (GIIC) en la Universidad de Extremadura (UEX). Implementa herencia, polimorfismo, Comparators, Enums y lectura de ficheros.


📋 Descripción

El proyecto modela el comportamiento de un campeonato ciclista por etapas, con equipos, ciclistas de distintas categorías y bicicletas de diferentes tipos. Los conceptos aplicados incluyen:

  • Herencia y polimorfismo: jerarquía de ciclistas (Novato, Experimentado, Estrella) y bicicletas (Estándar, Rápida, Prototipo).
  • Comparators: ordenación personalizada de ciclistas y equipos por tiempo, puntos y otros criterios.
  • Enums: tipos de etapa, categorías de ciclista y tipo de bicicleta.
  • Lectura de ficheros: carga de datos iniciales de equipos y ciclistas desde ficheros de texto.
  • Organización del campeonato: gestión de etapas, clasificaciones y resultados.

🏗️ Estructura del Proyecto

Java_Cycling_Championship/
├── src/
│   └── demo/
│       ├── Bicicleta.java              # Clase base de bicicleta
│       ├── BicicletaRapida.java         # Hereda de Bicicleta
│       ├── BicicletaPrototipo.java      # Hereda de Bicicleta
│       ├── Ciclista.java               # Clase base de ciclista
│       ├── CiclistaNovato.java          # Hereda de Ciclista
│       ├── CiclistaExperimentado.java   # Hereda de Ciclista
│       ├── CiclistaEstrella.java        # Hereda de Ciclista
│       ├── Equipo.java                 # Gestión de equipos y sus ciclistas
│       ├── Etapa.java                  # Representación de una etapa del campeonato
│       ├── Organizacion.java           # Coordinación general del campeonato
│       ├── comparadores/               # Comparators para ordenación de clasificaciones
│       ├── enums/                      # Enums de tipo de etapa, bicicleta y ciclista
│       └── datosIniciales/             # Clase(s) de carga de datos desde ficheros
├── ficheros/                       # Ficheros .txt con datos de equipos y ciclistas
└── Entrega Final. Proyecto_2022-2023.pdf  # Enunciado oficial del proyecto

⚙️ Compilación y Ejecución

Clona el repositorio:

git clone https://github.com/sorgazb/Java_Cycling_Championship.git

Importa el proyecto en Eclipse IDE:

File > Import > Existing Projects into Workspace
Selecciona la carpeta: Java_Cycling_Championship/Java_Cycling_Championship

Ejecuta la clase principal desde Eclipse con Run > Run As > Java Application.


🚴 Jerarquía de Clases

Clase Base Subclases Descripción
Ciclista CiclistaNovato, CiclistaExperimentado, CiclistaEstrella Tres perfiles con atributos y comportamientos distintos
Bicicleta BicicletaRapida, BicicletaPrototipo Tipos de bicicleta con diferentes características

🤝 Contribución

Haz fork del repositorio.

Crea una rama de trabajo:

git checkout -b feature/nueva-funcionalidad

Realiza tus cambios y haz commit.

Abre un Pull Request describiendo tus mejoras.


Universidad de Extremadura

Diseño y Programación (DP)  ·  Grado en Ingeniería Informática y de Computadores  ·  Universidad de Extremadura
Sergio Orgaz Bravo

About

Program developed in Java, cycling championship simulator

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages