Exemple #1
0
    void buscarColumnaEnPos(int fila, int columna)
    {
        int limiteMin = fila;
        int limiteMax = fila;

        int filaActual = fila;

        int repeticiones = 0;

        while (tieneUnVecinoY(filaActual, columna))
        {
            matriz[filaActual, columna]     = 0;
            matriz[filaActual + 1, columna] = 0;
            filaActual++;
            limiteMax = filaActual;

            if (repeticiones > 300000)
            {
                Debug.LogError("[buscarFilaEnPos] Demasiadas repeticiones!!!");
                break;
            }

            repeticiones++;
        }

        float tamañoY = limiteMax - limiteMin + 1;
        float posY    = limiteMin + tamañoY / 2;

        BloqueMapa bloqueActual = new BloqueMapa(90, new Vector3(columna + 0.5f, filas - 1 - posY + 0.5f, 0), new Vector3(grosorPared, tamañoY, 1));

        bloquesASpawnear.Add(bloqueActual);
    }
Exemple #2
0
    void buscarFilaEnPos(int fila, int columna)
    {
        int limiteMin = columna;
        int limiteMax = columna;

        int columnaActual = columna;

        int repeticiones = 0;

        while (tieneUnVecinoX(fila, columnaActual))
        {
            matriz[fila, columnaActual]     = 0;
            matriz[fila, columnaActual + 1] = 0;
            columnaActual++;
            limiteMax = columnaActual;

            if (repeticiones > 300000)
            {
                Debug.LogError("[buscarFilaEnPos] Demasiadas repeticiones!!!");
                break;
            }

            repeticiones++;
        }

        if (limiteMax == limiteMin)
        {
            matriz[fila, columnaActual] = 2;
            return;
        }

        float tamañoX = limiteMax - limiteMin + 1;
        float posX    = limiteMin + tamañoX / 2;

        BloqueMapa bloqueActual = new BloqueMapa(0, new Vector3(posX, filas - 1 - fila, 0), new Vector3(tamañoX, grosorPared, 1));

        bloquesASpawnear.Add(bloqueActual);
    }