private void AparicionDesastre() { Random r = new Random(); Random queEdificio = new Random(); int qEdif = r.Next(0, Edificios.Count); if (r.Next(1, 101) <= PROBAaccidente * 100) { Accidente accidente = new Accidente(Edificios.ElementAt(qEdif).celdasEdificio.ElementAt(queEdificio.Next(0, Edificios.ElementAt(qEdif).celdasEdificio.Length))); if (accidente.lugar.hayEmergencia == false && accidente.lugar.nombreEdificio != "Hospital" && accidente.lugar.nombreEdificio != "Bomberos" && accidente.lugar.nombreEdificio != "Comisaría") { listaDeAccidentes.Add(accidente); accidente.lugar.hayEmergencia = true; try { Hospital.Start(); } catch { } } } if (r.Next(1, 101) <= PROBAenfermedad * 100) { Enfermedad enfermedad = new Enfermedad(Edificios.ElementAt(qEdif).celdasEdificio.ElementAt(r.Next(0, Edificios.ElementAt(qEdif).celdasEdificio.Length))); if (enfermedad.lugar.hayEmergencia == false && enfermedad.lugar.nombreEdificio != "Hospital" && enfermedad.lugar.nombreEdificio != "Bomberos" && enfermedad.lugar.nombreEdificio != "Comisaría") { listaDeEnfermedades.Add(enfermedad); enfermedad.lugar.hayEmergencia = true; eventEnfermedad(enfermedad.lugar); try { Hospital.Start(); } catch { } } } if (r.Next(1, 101) <= PROBAasalto * 100) { Asalto asalto = new Asalto(Edificios.ElementAt(qEdif).celdasEdificio.ElementAt(r.Next(0, Edificios.ElementAt(qEdif).celdasEdificio.Length))); if (asalto.lugar.hayEmergencia == false && asalto.lugar.nombreEdificio != "Hospital" && asalto.lugar.nombreEdificio != "Bomberos" && asalto.lugar.nombreEdificio != "Comisaría") { listaDeAsaltos.Add(asalto); asalto.lugar.hayEmergencia = true; restarNumero += asalto.restar; try { Policia.Start(); } catch { } } } if (r.Next(1, 101) <= PROBAincendio * 100) { Incendio incendio = new Incendio(Edificios.ElementAt(qEdif).celdasEdificio.ElementAt(r.Next(0, Edificios.ElementAt(qEdif).celdasEdificio.Length))); if (incendio.lugar.hayEmergencia == false && incendio.lugar.nombreEdificio != "Hospital" && incendio.lugar.nombreEdificio != "Bomberos" && incendio.lugar.nombreEdificio != "Comisaría") { listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventIncendio(incendio.lugar); } } }
private void ocurrioIncendio(Celdas celda) { Random r = new Random(); Random queEdificio = new Random(); int qEdif = r.Next(0, Edificios.Count); int posX = celda.posX; int posY = celda.posY; if (posX - 1 > 0 && posY - 1 > 0 && posX + 1 < ancho && posY + 1 < alto) { if (mapaDeCeldas[posX - 1, posY - 1] != null && mapaDeCeldas[posX - 1, posY - 1].hayEmergencia == false && mapaDeCeldas[posX - 1, posY - 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX - 1, posY - 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX - 1, posY - 1].nombreEdificio != "Bomberos" && mapaDeCeldas[posX - 1, posY - 1].nombreEdificio != "Comisaría" && mapaDeCeldas[posX - 1, posY - 1].nombreEdificio != "Hospital") { Incendio incendio = new Incendio((mapaDeCeldas[posX - 1, posY - 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX - 1, posY] != null && mapaDeCeldas[posX - 1, posY].hayEmergencia == false && mapaDeCeldas[posX - 1, posY].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX - 1, posY].material.nombreMaterial != "Special" && mapaDeCeldas[posX - 1, posY].nombreEdificio != "Comisaría" && mapaDeCeldas[posX - 1, posY].nombreEdificio != "Bombreros" && mapaDeCeldas[posX - 1, posY].nombreEdificio != "Hospital") { Incendio incendio = new Incendio((mapaDeCeldas[posX - 1, posY])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX - 1, posY + 1] != null && mapaDeCeldas[posX - 1, posY + 1].hayEmergencia == false && mapaDeCeldas[posX - 1, posY + 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX - 1, posY + 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX - 1, posY + 1].nombreEdificio != "Comisaría" && mapaDeCeldas[posX - 1, posY + 1].nombreEdificio != "Bomberos" && mapaDeCeldas[posX - 1, posY + 1].nombreEdificio != "Hospital") { Incendio incendio = new Incendio((mapaDeCeldas[posX - 1, posY + 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX, posY - 1] != null && mapaDeCeldas[posX, posY - 1].hayEmergencia == false && mapaDeCeldas[posX, posY - 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX, posY - 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX, posY - 1].nombreEdificio != "Bomberos" && mapaDeCeldas[posX, posY - 1].nombreEdificio != "Hospital" && mapaDeCeldas[posX, posY - 1].nombreEdificio != "Comisaría") { Incendio incendio = new Incendio((mapaDeCeldas[posX, posY - 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX, posY + 1] != null && mapaDeCeldas[posX, posY + 1].hayEmergencia == false && mapaDeCeldas[posX, posY + 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX, posY + 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX, posY + 1].nombreEdificio != "Hospital" && mapaDeCeldas[posX, posY + 1].nombreEdificio != "Comisaría" && mapaDeCeldas[posX, posY + 1].nombreEdificio != "Bomberos") { Incendio incendio = new Incendio((mapaDeCeldas[posX, posY + 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX + 1, posY - 1] != null && mapaDeCeldas[posX + 1, posY - 1].hayEmergencia == false && mapaDeCeldas[posX + 1, posY - 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX + 1, posY - 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX + 1, posY - 1].nombreEdificio != "Hospital" && mapaDeCeldas[posX + 1, posY - 1].nombreEdificio != "Bomberos" && mapaDeCeldas[posX + 1, posY - 1].nombreEdificio != "Comisaría") { Incendio incendio = new Incendio((mapaDeCeldas[posX + 1, posY - 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX + 1, posY] != null && mapaDeCeldas[posX + 1, posY].hayEmergencia == false && mapaDeCeldas[posX + 1, posY].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX + 1, posY].material.nombreMaterial != "Special" && mapaDeCeldas[posX + 1, posY].nombreEdificio != "Hospital" && mapaDeCeldas[posX + 1, posY].nombreEdificio != "Comisaría" && mapaDeCeldas[posX + 1, posY].nombreEdificio != "Bomberos") { Incendio incendio = new Incendio((mapaDeCeldas[posX + 1, posY])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } if (mapaDeCeldas[posX + 1, posY + 1] != null && mapaDeCeldas[posX + 1, posY + 1].hayEmergencia == false && mapaDeCeldas[posX + 1, posY + 1].material.sick >= r.Next(1, 101) && mapaDeCeldas[posX + 1, posY + 1].material.nombreMaterial != "Special" && mapaDeCeldas[posX + 1, posY + 1].nombreEdificio != "Bomberos" && mapaDeCeldas[posX + 1, posY + 1].nombreEdificio != "Comisaría" && mapaDeCeldas[posX + 1, posY + 1].nombreEdificio != "Hospital") { Incendio incendio = new Incendio((mapaDeCeldas[posX + 1, posY + 1])); listaDeIncendios.Add(incendio); incendio.lugar.hayEmergencia = true; eventEnfermedad(incendio.lugar); } } }