public bool MeterVehiculo(CocheSimple c) { //Primero compruebo que el garaje no este lleno, el tope es de 6 vehiculos if (garaje.Count < 6) { //si el tipo de vehiculo que quiero meter es un bus y no hay mas buses en el garaje, se puede merter (return true) if (c.GetType().Name == "Autobus" && numeroAutobuses < 1) { return(true); } //si el tipo de vehiculo que quiero meter es un taxi y no hay mas taxis en el garaje, se puede merter (return true) else if (c.GetType().Name == "Taxi" && numeroTaxis < 1) { return(true); } //en el caso de cochesimple podrás meter todos los que quieras else if (c.GetType().Name == "CocheSimple") { return(true); } Console.WriteLine("No caben más " + c.GetType().Name + "s en el garaje"); Console.ReadLine(); return(false); } Console.WriteLine("No caben más " + c.GetType().Name + "s en el garaje"); Console.ReadLine(); return(false); }
//Este metodo recibe un objeto del tipo CocheSimple(puede ser: taxi, autobus o cochesimple) y lo añade al garaje si tiene sitio public void AñadirCoche(CocheSimple c) { //Si el método MeterVehiculo nos devuelve true, añadiremos el vehículo if (MeterVehiculo(c)) { //Si el objeto que queremos meter es un Taxi, le añadimos uno al contador de taxis. if (c.GetType().Name == "Taxi") { numeroTaxis++; } //Si el objeto que queremos meter es un Autobus, le añadimos uno al contador de autobuses. else if (c.GetType().Name == "Autobus") { numeroAutobuses++; } //Como hemos verificado que se puede meter, lo metemos Console.WriteLine("Vehículo del tipo " + c.GetType().Name + " añadido."); garaje.Add(c); } }