public Boolean AltaSeleccion(SeleccionFutbol i) { //Primero compruebo que la seleccionPais no está llena, el tope es de 30 integrantes if (integrantes.Count < 30) { //si el integrante es un entrenador y no se supera el limite, se puede meter con return true if (i.GetType().Name == "Entrenador" && numEntrenador < 2) { return(true); } //si el integrante es un masajista y no se supera el limite, se puede meter con return true else if (i.GetType().Name == "Masajista" && numMasajista < 4) { return(true); } //en el caso de futbolista se pueden meter sin limite hasta llegar al limite principal else if (i.GetType().Name == "Futbolista") { return(true); } return(false); } Console.WriteLine("Ya has seleccionado suficientes " + i.GetType().Name + "s en la selección"); //Console.ReadLine(); return(false); }
//Este metodo recibe un objeto del tipo SeleccionFutbol(puede ser: Entrenador, Masajista,Futbolista) y lo añade a la lista public void AñadirIntegrante(SeleccionFutbol i) { //Si el metodo MeterIntegrante nos devuelve true, añadiremos un integrante if (AltaSeleccion(i)) { //Si el objeto que queremos meter es un entrenador, le añadimos uno al contador de entrenadores. if (i.GetType().Name == "Entrenador") { numEntrenador++; } //Si el objeto que queremos meter es un masajista, le añadimos uno al contador de masajistas else if (i.GetType().Name == "Masajista") { numMasajista++; } //Como hemos verificado que se puede meter, lo metemos Console.WriteLine("Integrante del tipo " + i.GetType().Name + " añadido."); integrantes.Add(i); } }
public bool AltaSeleccion(SeleccionFutbol nuevoParticipante) { if (NParticipantes < 30) { if (nuevoParticipante is Futbolista) { Participantes.Add(nuevoParticipante); NParticipantes++; return(true); } else { int numMasajistas = 0; int numEntrenadores = 0; foreach (SeleccionFutbol persona in Participantes) { if (persona is Masajista) { numMasajistas++; } else if (persona is Entrenador) { numEntrenadores++; } } if (nuevoParticipante is Masajista && numMasajistas < 4) { Participantes.Add(nuevoParticipante); NParticipantes++; return(true); } else if (nuevoParticipante is Entrenador && numEntrenadores < 2) { Participantes.Add(nuevoParticipante); NParticipantes++; return(true); } } } return(false); }