コード例 #1
0
        public Semaforo(int posX, int posY, SemaforoBackEnd logica)
        {
            InitializeComponent();
            this.logica = logica;
            this.posX   = posX;
            this.posY   = posY;

            dic = new Dictionary <string, Brush>();
            dic.Add("Rojo", Brushes.Red);
            dic.Add("Verde", Brushes.Green);
            color = dic["Rojo"]; // por mientras

            ContextMenu = new ContextMenu();
            MenuItem Semaforo  = new MenuItem();
            MenuItem Semaforo2 = new MenuItem();

            Semaforo.Header  = "_Lus Activada Horizontal" + " Roja";
            Semaforo2.Header = "_Lus Activada Vertical" + " Verde";
            ContextMenu.Items.Add(Semaforo);
            ContextMenu.Items.Add(Semaforo2);
        }
コード例 #2
0
        private void verAccidentes(object o)
        {
            lock (a)
            {
                while (true)
                {
                    Thread.Sleep(1000);
                    if (Program.cambiarLuz.Count > 0)
                    {
                        SemaforoBackEnd sem = Program.cambiarLuz.ElementAt(0);
                        backedConFrontedSemaforo[sem.celdSemaforo[0]].cambiarColor(this);
                        backedConFrontedSemaforo[sem.celdSemaforo[1]].cambiarColor(this);
                        backedConFrontedSemaforo[sem.celdSemaforo[2]].cambiarColor(this);
                        backedConFrontedSemaforo[sem.celdSemaforo[3]].cambiarColor(this);
                        Program.cambiarLuz.ElementAt(0).time = Program.cambiarLuz.ElementAt(0).original;
                        Program.cambiarLuz.Remove(Program.cambiarLuz.ElementAt(0));
                    }
                    if (Program.sacarEmergencia.Count > 0)
                    {
                        Celdas celda = Program.sacarEmergencia.ElementAt(0).lugar;
                        celdasCell[celda].sacarImagen(this);
                        string al = "Asalto posX = " + celda.posX + " posY = " + celda.posY + " ESCAPÓ";
                        agregarAMenu(al);
                        Program.sacarEmergencia.Remove(Program.sacarEmergencia.ElementAt(0));
                    }
                    if (p.listaDeAccidentes.Count > 0)
                    {
                        Celdas celda = p.listaDeAccidentes.ElementAt(0).lugar;
                        celdasCell[celda].verAccidente(this);
                        string al = "Accidente posX = " + celda.posX + " posY = " + celda.posY;
                        agregarAMenu(al);

                        p.listaDeAccidentes.Remove(p.listaDeAccidentes.ElementAt(0));
                    }
                    else if (p.listaDeAsaltos.Count > 0)
                    {
                        Celdas celda = p.listaDeAsaltos.ElementAt(0).lugar;
                        celdasCell[celda].verAsalto(this);
                        celdasCell[celda].timeEscape = p.listaDeAsaltos.ElementAt(0).numero;
                        string al = "Asalto posX = " + celda.posX + " posY = " + celda.posY + " t escape " + celdasCell[celda].timeEscape;
                        agregarAMenu(al);
                        p.listaDeAsaltos.Remove(p.listaDeAsaltos.ElementAt(0));
                    }
                    else if (p.listaDeEnfermedades.Count > 0)
                    {
                        Celdas celda = p.listaDeEnfermedades.ElementAt(0).lugar;
                        celdasCell[celda].verEnfermedad(this);
                        string al = "Enfermedad posX = " + celda.posX + " posY = " + celda.posY;
                        agregarAMenu(al);
                        p.listaDeEnfermedades.Remove(p.listaDeEnfermedades.ElementAt(0));
                    }
                    else if (p.listaDeIncendios.Count > 0)
                    {
                        Celdas celda = p.listaDeIncendios.ElementAt(0).lugar;
                        celdasCell[celda].verIncendio(this);
                        string al = "Incendio posX = " + celda.posX + " posY = " + celda.posY;
                        agregarAMenu(al);
                        p.listaDeIncendios.Remove(p.listaDeIncendios.ElementAt(0));
                    }
                }
            }
        }