ActionScript - Tetris

 
Vista:

Tetris

Publicado por Alexandro (12 intervenciones) el 16/02/2006 05:06:00
Alguien tiene idea de donde puedo encontrar un manual que me de una nocion de las funciones que debo usar para crear este juego.La cuestion es que ya lo tengo hecho casi casi pero no se como crear la funcion que borrara las lineas que se completen.Ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Creación de una función para borrar líneas completadas en un juego

Publicado por Alejandro (369 intervenciones) el 21/06/2023 23:51:18
Para crear una función que borre las líneas completadas en tu juego, puedes seguir los siguientes pasos:

1. Identifica las condiciones para determinar si una línea está completa. Esto puede ser cuando todas las casillas de una fila contienen algún elemento o color específico.

2. Recorre cada fila del tablero de juego y verifica si cumple con las condiciones para ser eliminada.

3. Si una línea está completa, elimina los elementos o colores de las casillas de esa fila.

4. Desplaza hacia abajo las filas superiores para llenar el espacio vacío dejado por la línea eliminada. Puedes hacer esto recorriendo las filas superiores desde la línea eliminada hasta la parte superior del tablero y copiando los elementos o colores de cada casilla a la fila de abajo.

5. Repite los pasos anteriores para todas las líneas completas que encuentres.

Aquí tienes un ejemplo de cómo podrías implementar una función de borrado de líneas completadas en ActionScript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function eliminarLineasCompletas():void {
    for (var fila:int = 0; fila < numFilas; fila++) {
        var filaCompleta:Boolean = true;
 
        for (var columna:int = 0; columna < numColumnas; columna++) {
            if (!casillaOcupada(fila, columna)) {
                filaCompleta = false;
                break;
            }
        }
 
        if (filaCompleta) {
            eliminarFila(fila);
            desplazarFilasSuperiores(fila);
        }
    }
}
 
function eliminarFila(fila:int):void {
    for (var columna:int = 0; columna < numColumnas; columna++) {
        // Eliminar el elemento o color de la casilla en la fila completa
        eliminarElemento(fila, columna);
    }
}
 
function desplazarFilasSuperiores(fila:int):void {
    for (var f:int = fila - 1; f >= 0; f--) {
        for (var columna:int = 0; columna < numColumnas; columna++) {
            // Copiar el elemento o color de la casilla de la fila superior a la fila actual
            copiarElemento(f, columna, f + 1, columna);
        }
    }
}

Recuerda adaptar el código según la estructura y las reglas específicas de tu juego. Esta solución te proporciona una base para crear una función que borre las líneas completadas en tu juego.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar