Campeonato de Futbol
Campeonato de Futbol
Campeonato de Futbol
En este caso se quiere construir una aplicación para manejar los resultados de los partidos en un
campeonato de fútbol. En el campeonato hay varios equipos y cada uno de ellos puede jugar contra
cada uno de los otros equipos una sola vez (10 equipos).
La información de los equipos que participan del campeonato está definida en un archivo que la
aplicación debe leer para construir el estado inicial.
En el programa se debe permitir registrar el resultado de cualquier partido del campeonato y, con
base en esa información, se debe mostrar la tabla de resultados, en la que se indique cuántos goles
le hizo cada equipo a cada También se debe mostrar la tabla de posiciones, indicando para cada
equipo el número de puntos (Puntos), los partidos jugados (Jugados), los partidos ganados
(Ganados), los partidos empatados (Empatados), los partidos perdidos (Perdidos), los goles a favor
(Goles a Favor) y los goles en contra (En Contra).
La interfaz de usuario que hemos diseñado para esta aplicación es la que se muestra en la figura.
En el mundo del problema podemos identificar dos entidades: el campeonato y los equipos. La tabla
de resultados la vamos a representar como una matriz de enteros, en la cual en la casilla (X, Y) está
el número de goles que le hizo el equipo X al equipo Y. Si no han jugado, en dicha casilla
almacenamos la constante SIN_JUGAR. En la diagonal ponemos el valor INVALIDO para indicar que
un equipo no puede jugar contra sí mismo. El campeonato tiene un arreglo de equipos, cada uno de
los cuales almacena su nombre.
La clase cuenta con un constructor, que recibe como parámetro el nombre del equipo, y un
método que retorna el nombre del equipo.
Una decisión importante que debemos tomar al diseñar la clase es la manera de representar
los equipos y la tabla de goles. Dado que el número de equipos que participan en el
campeonato no cambia y que ésta es una información que vamos a leer del archivo de
entrada, podemos modelar los equipos como un arreglo de tamaño fijo (equipos).
La constante INVALIDO sólo se usa en la diagonal de la matriz (un equipo no puede jugar
contra sí mismo).
Asignación de Responsabilidades
Dado que la clase Campeonato contiene la información de los equipos y de los goles de los partidos
jugados, esta clase es responsable de: