Exemplo n.º 1
1
 public void moverse(Carro car, Point fin)
 {
     if(car.direccion==0)
     {
         while(fin.X >= car.posicionActual.X)
             car.posicionActual = new Point(car.posicionActual.X + 1,car.posicionActual.Y);
     }
     else if (car.direccion == 0)
     {
         while (fin.X <= car.posicionActual.X)
             car.posicionActual = new Point(car.posicionActual.X - 1, car.posicionActual.Y);
     }
     else if (car.direccion == 1)
     {
         while (fin.Y >= car.posicionActual.Y)
             car.posicionActual = new Point(car.posicionActual.X, car.posicionActual.Y + 1);
     }
     else
     {
         while (fin.Y <= car.posicionActual.Y)
             car.posicionActual = new Point(car.posicionActual.X, car.posicionActual.Y - 1);
     }
 }
Exemplo n.º 2
0
        private bool verificarSemaforos(Carro carro)
        {
            #region Carros de sur a norte

            if (SemaforoCalles == false && carro.Direccion == 2) //Sur a Norte
            {

                if (carro.PosicionActual.Y >= 548 && carro.PosicionActual.Y <= puntoCalleSurNorte1 && carro.ListaInicial == 5 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleSurNorte1 += 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= 548 && carro.PosicionActual.Y <= puntoCalleSurNorte2 && carro.ListaInicial == 4 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleSurNorte2 += 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= 290 && carro.PosicionActual.Y <= puntoCalleSurNorte1-238 && carro.ListaInicial == 5 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleSurNorte1 += 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= 290 && carro.PosicionActual.Y <= puntoCalleSurNorte2-238 && carro.ListaInicial == 4 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleSurNorte2 += 26;
                    return false;
                }
                else if(carro.parado == true)
                {
                    return false;
                }

            }
            else if (SemaforoCalles == true && carro.Direccion == 2)
            {
                carro.parado = false;
            }
            #endregion

            #region Carros de norte a sur

            if (SemaforoCalles == false && carro.Direccion == 0) // Norte a Sur
            {

                if (carro.PosicionActual.Y >= puntoCalleNorteSur1 && carro.PosicionActual.Y <= 105 && carro.ListaInicial == 0 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleNorteSur1 -= 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= puntoCalleNorteSur2 && carro.PosicionActual.Y <= 105 && carro.ListaInicial == 1 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleNorteSur2 -= 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= puntoCalleNorteSur1 + 240 && carro.PosicionActual.Y <= 360 && carro.ListaInicial == 0 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleNorteSur1 -= 26;
                    return false;
                }
                else if (carro.PosicionActual.Y >= puntoCalleNorteSur2 + 240 && carro.PosicionActual.Y <= 360 && carro.ListaInicial == 1 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoCalleNorteSur2 -= 26;
                    return false;
                }
                else if (carro.parado == true)
                {
                    return false;
                }

            }
            else if (SemaforoCalles == true && carro.Direccion == 0)
            {
                carro.parado = false;
            }

            #endregion

            #region Carros de derecha a izquierda

            if (SemaforoAvenidaIzquierda == false && carro.Direccion == 1) //Derecha a Izquierda
            {
                if (carro.PosicionActual.X >= 990 && carro.PosicionActual.X <= puntoAvenidaDerechaIzquierda1 && carro.ListaInicial == 2 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoAvenidaDerechaIzquierda1 += 30;
                    return false;
                }
                else if (carro.PosicionActual.X >= 990 && carro.PosicionActual.X <= puntoAvenidaDerechaIzquierda2 && carro.ListaInicial == 3 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoAvenidaDerechaIzquierda2 += 30;
                    return false;
                }
                else if (carro.parado == true)
                {
                    return false;
                }
            }
            else if (SemaforoAvenidaIzquierda == true && carro.Direccion == 1)
            {
                carro.parado = false;
            }

            #endregion

            #region Carros de izquierda a derecha

            if (SemafotoAvenidaDerecha == false && carro.Direccion == 3) //Izquierda a Derecha
            {
                if (carro.PosicionActual.X >= puntoAvenidaIzquierdaDerecha1 && carro.PosicionActual.X <= 105 && carro.ListaInicial == 7 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoAvenidaIzquierdaDerecha1 -= 30;
                    return false;
                }
                else if (carro.PosicionActual.X >= puntoAvenidaIzquierdaDerecha2 && carro.PosicionActual.X <= 105 && carro.ListaInicial == 6 && carro.parado == false)
                {
                    carro.parado = true;
                    puntoAvenidaIzquierdaDerecha2 -= 30;
                    return false;
                }
                else if (carro.parado == true)
                {
                    return false;
                }
            }
            else if (SemafotoAvenidaDerecha == true && carro.Direccion == 3)
            {
                carro.parado = false;
            }

            #endregion

            return true;
        }
Exemplo n.º 3
0
        public void generarCarro()
        {
            Carro carro = null;
            Random random = new Random();
            int randomN = random.Next(0, 8);
            Point punto = new Point();
            punto = Puntos[randomN];

            if (randomN == 0) // 0 = Norte a Sur
            {
                carro = new Carro(punto, 0, 0);
                Carros[ListaCarros0[0]] = carro;
                ListaCarros0.RemoveAt(0);
            }
            if (randomN == 1) // 0 = Norte a Sur
            {
                carro = new Carro(punto, 0, 1);
                Carros[ListaCarros1[0]] = carro;
                ListaCarros1.RemoveAt(0);
            }
            else if (randomN == 2) // 1 = Oriente a Poniente
            {
                carro = new Carro(punto, 1,2);
                Carros[ListaCarros2[0]] = carro;
                ListaCarros2.RemoveAt(0);
            }
            else if (randomN == 3) // 1 = Oriente a Poniente
            {
                carro = new Carro(punto, 1, 3);
                Carros[ListaCarros3[0]] = carro;
                ListaCarros3.RemoveAt(0);
            }
            else if (randomN == 4) // 2 = Sur a Norte
            {
                carro = new Carro(punto, 2, 4);
                Carros[ListaCarros4[0]] = carro;
                ListaCarros4.RemoveAt(0);
            }
            else if (randomN == 5) // 2 = Sur a Norte
            {
                carro = new Carro(punto, 2, 5);
                Carros[ListaCarros5[0]] = carro;
                ListaCarros5.RemoveAt(0);
            }
            else if (randomN == 6) // 3 = Poniente a Oriente
            {
                carro = new Carro(punto, 3, 6);
                Carros[ListaCarros6[0]] = carro;
                ListaCarros6.RemoveAt(0);
            }
            else if (randomN == 7) // 3 = Poniente a Oriente
            {
                carro = new Carro(punto, 3, 7);
                Carros[ListaCarros7[0]] = carro;
                ListaCarros7.RemoveAt(0);
            }
        }
Exemplo n.º 4
0
 public void ocultar(Carro car)
 {
     car.visible = false;
 }
Exemplo n.º 5
0
 public void mostrar(Carro car)
 {
     car.visible = true;
 }