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); } }
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; }
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); } }
public void ocultar(Carro car) { car.visible = false; }
public void mostrar(Carro car) { car.visible = true; }