// Use this for initialization void Start() { matriz = new eCasilla[tam, tam]; for (int i = 0; i < 3; i++) { matriz[i, 0] = (eCasilla)(i + 3); } Transform pieza = Piezas.GetChild(0); TilePR2 logica = pieza.GetComponent <TilePR2>(); logica.avanza(0); matriz[0, 0] = eCasilla.obsR; pieza = Piezas.GetChild(9); logica = pieza.GetComponent <TilePR2>(); logica.avanza(1); matriz[9, 0] = eCasilla.obsG; pieza = Piezas.GetChild(99); logica = pieza.GetComponent <TilePR2>(); logica.avanza(2); matriz[9, 9] = eCasilla.obsB; Fondo.color = colores[0]; }
IEnumerator resolver(List <dim> camino, dim origen, dim destino, int coche) { Transform pieza = Piezas.GetChild(origen.x + origen.y * 10); TilePR2 logica = pieza.GetComponent <TilePR2>(); Image tileColor = pieza.GetComponent <Image>(); tileColor.color = colores[coche + 1]; bool avanzar = true; int i; for (i = 1; avanzar && i <= camino.Count; i++) { logica.vuelve(); matriz[camino[i - 1].x, camino[i - 1].y] = logica.estado; float aux = (float)matriz[camino[i - 1].x, camino[i - 1].y] + 1; pieza = Piezas.GetChild(camino[i - 1].x + camino[i - 1].y * 10); logica = pieza.GetComponent <TilePR2>(); tileColor = pieza.GetComponent <Image>(); tileColor.color = colores[coche + 1]; avanzar = logica.avanza(coche); if (!avanzar) { pieza = Piezas.GetChild(camino[i - 2].x + camino[i - 2].y * 10); logica = pieza.GetComponent <TilePR2>(); logica.avanza(coche); matriz[camino[i - 2].x, camino[i - 2].y] = logica.estado; aux = 0; } yield return(new WaitForSecondsRealtime(0.5f * aux)); } actualizaTablero(camino); if (!avanzar) { recalcula(camino[i - 3], destino, coche); } }