コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
                }
            }
        }