Пример #1
0
    // 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];
    }
Пример #2
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);
        }
    }