estoy tratando de eliminar las primeras filas nulas que me encuentre en una matriz y colocarlas al final, por ejemplo :
tengo
0 0 0 0 0
0 0 0 0 0
0 1 0 0 0
0 0 0 0 0
0 1 0 0 0
y quiero que me quede :
0 1 0 0 0
0 0 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 0 0
estoy trabajando con esta función :
Código actionscript:
Ver original
private function posicionaFigura(tablero:Array):Array { var bool:Boolean = false; var tablero_copia: Array = new Array(); tablero_copia = tablero // primero compruebo las filas, si todos los elementos son distintos de cero for (var i:int = 0;i<5;i++) { for (var j:int = 0;j<5;j++) { if (tablero_copia[i][j] != 0) { bool = true } } // elimino la fila y la pego al final if (bool == false) { var spliced:Array = tablero_copia[i].splice(0,5) tablero_copia.push(spliced); } // end if } // end for i return tablero_copia;
pero el resultado de aplicar esta función es:
[]
[]
0 1 0 0 0
0 0 0 0 0
0 1 0 0 0
¿Alguién puede decirme con hacer esto en AS3?
Muchas gracias