private void Reiniciarbutton_Click(object sender, EventArgs e) { this.Parqueos = new List <Parqueo>(); this.Vehiculos = new List <Vehiculo>(); EstadotextBox.Clear(); IniciarParqueos(); }
private void EmpezarSimulacion_Click(object sender, EventArgs e) { GC.Collect(); EstadotextBox.Clear(); int CantidadCasos = CantidadCasosTextBox.Text.ToInt(); int iterador = 0; StringBuilder stb = new StringBuilder(); for (int j = 0; j < CantidadCasos; j++) { GC.Collect(); if (HayParqueoLibre()) { if (iterador == Vehiculos.Count() - 1) { iterador = 0; } Vehiculo vehiculo = Vehiculos.ElementAt(iterador); stb.AppendLine("Caso: " + (j + 1)); stb.AppendLine("Vehiculo: " + (iterador + 1)); stb.AppendLine("\tTomo la calle: " + CalleRandom().Numero); for (int x = 0; x < 4; x++) { GC.Collect(); Parqueo parqueo = Parqueos.ElementAt(x); stb.AppendLine($"\t\tPaso al parqueo:{(x + 1)} y estaba {parqueo.Estados.ToString()}"); if (parqueo.Estados == Estado.Libre) { stb.AppendLine($"\t\tEntro al parqueo al {x + 1}"); Parqueos.ElementAt(x).Estados = Estado.Ocupado; Vehiculos.ElementAt(iterador).Estado = EstadoVehiculo.Parqueado; Parqueos.ElementAt(x).Vehiculo = Vehiculos.ElementAt(iterador); break; } else { if (x + 1 == 4) { stb.AppendLine($"\t\tNo encontro parqueo y se fue"); } else { stb.AppendLine($"\t\tPaso al siguiente parqueo"); } } } iterador++; CambiarEstado(); } else { stb.AppendLine("No hay parqueo libre, la simulacion ha terminado"); break; } } if (HayParqueoLibre()) { stb.AppendLine("Quedaron libre los parqueos"); for (int x = 0; x < Parqueos.Count(); x++) { if (Parqueos[x].Estados == Estado.Libre || Parqueos[x].Estados == Estado.OcupadoFake) { stb.AppendLine($"{Parqueos.ElementAt(x).Numero}"); } } } EstadotextBox.Text = stb.ToString(); DGV.Columns["Vehiculo"].Visible = true; }