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); }
static void Main(string[] args) { Taxi t1 = new Taxi("Fiat", "Punto", 120, "abc"); Taxi t2 = new Taxi("Fiat", "Punto", 120, "abc"); Autobus a1 = new Autobus("Alsa", "azul", 100, "ztz"); CocheSimple c1 = new CocheSimple("Ferrari", "Testa Rosa", 180); //Aqui he creado la lista ya llena List <CocheSimple> list1 = new List <CocheSimple>() { t1, a1, c1 }; //He pasado la lista llena y he creado un garaje Garaje g1 = new Garaje("Garaje de Arrate", list1); //He creado un garaje vacio Garaje g2 = new Garaje("Garaje de Arrate"); //Con el método AñadirCoche y pasandole el coche que le quiero meter, lleno el garaje g2.AñadirCoche(t1); g2.AñadirCoche(a1); g2.AñadirCoche(c1); g2.AñadirCoche(t2); foreach (CocheSimple coche in g2.GetGaraje()) { Console.WriteLine(coche.GetType().Name.ToUpper()); Console.WriteLine(coche.ToString()); Console.WriteLine("**************************"); } Console.WriteLine("Número de Vehículos: " + g1.GetGaraje().Count); Console.Read(); }
//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); } }