Skip to main content

Ejercicio I01 - Torneo


Consigna

  1. Crear un proyecto del tipo biblioteca de clases.

  2. Generar la clase Torneo con un tipo genérico.

    1. Restringir el tipo genérico para que deba ser del tipo Equipo o sus derivados.

    2. Tendrá un atributo equipos de tipo List<T> y otro nombre de tipo string.

    3. Sobrecargar el operador == para que controle si un equipo ya está inscripto al torneo.

    4. Sobrecargar el operador + para agregar un equipo a la lista, siempre y cuando este no se encuentre ya en el torneo.

    5. El método Mostrar retornará los datos del torneo y de los equipos participantes.

    6. El método privado CalcularPartido recibirá dos elementos del tipo T, que deberán ser del tipo Equipo o sus herencias, y calculará utilizando la clase Random un resultado del partido. Retornará el resultado como un string con el siguiente formato donde EQUIPOX es el nombre del equipo y RESULTADOX la cantidad de goles/puntos:

      [EQUIPO1][RESULTADO1][RESULTADO2][EQUIPO2]

    7. La propiedad pública JugarPartido tomará dos equipos de la lista al azar y calculará el resultado del partido a través del método CalcularPartido.

  3. Generar la clase Equipo abstracta.

    1. Agregar un atributo nombre de tipo string y otro fechaCreacion de tipo DateTime.
    2. Dos equipos serán iguales si comparten el mismo nombre y fecha de creación.
    3. El método Ficha retornará el nombre del equipo y su fecha de creación con el siguiente formato:

      [EQUIPO] fundado el [FECHA]

  4. Generar la clase EquipoFutbol que herede de Equipo.

  5. Generar la clase EquipoBasquet que herede de Equipo.

  6. Crear un proyecto de consola.

    1. Generar dos torneos, uno de Futbol y otro de Basquet.
    2. Crear 3 equipos de cada tipo.
    3. Agregar los equipos en tantos torneos como se pueda.
    4. Llamar al método Mostrar de Torneo e imprimir su retorno por pantalla.
    5. Llamar al menos 3 veces a la propiedad JugarPartido de cada torneo e imprimir su respuesta por pantalla.

Resolución

imgVideoimgCódigo