Closed luchoxx87 closed 2 years ago
Grandes novedades .... los suplentes y los jugadores de reserva, también suelen tener ya un numero de camiseta asignado.
Futbolista
a PosicionEnCancha
.PosicionEnCancha
, ahora entonces SI puede tener una Posicion
con valor null.AgregarSuplente
y AgregarReserva
.Formacion.NumeroDisponible
.
Breve descripción de Dominio
Hasta ahora nuestra formación piensa en las lineas, como la agrupación de titulares, pero no estamos teniendo en cuenta a los jugadores suplentes o reserva (estos últimos no juegan el partido o tienen chance de entrar, pero pueden ser agregados para cumplir sanciones de fechas o recuperación de lesiones).
Hay que hacer que nuestras formaciones pueda agregar futbolistas como suplentes y reserva, respetando la cantidad máxima (esta como variable estática en Formación) de cada una y no permitiendo que la misma persona pueda estar mas de una vez en el equipo.
~Futbolista~ PosicionEnCancha
bool EsPersona(Persona)
donde se le pregunta a la formación si posee cierta persona o no entre sus titulares, suplentes o reserva.Linea
bool ExistePersona(Persona)
donde se le pregunta a la linea si posee cierta persona o no.Formación
bool ExistePersona(Persona)
: método que recibe una Persona y verifica si esta o no entre los Titulares, Suplentes y Reserva.Para el caso de los siguientes métodos, antes de agregar a la lista, es importante que en el método verifiquen que el Futbolista no este ya como persona entre los Titulares, Suplentes o Reserva (o sea, usar la abstracción de arriba).
void AgregarSuplente(Futbolista)
void AgregarReserva(Futbolista)