Cita:
Iniciado por Crazylegs Podrías hacer un bucle que mirase las filas, las columnas y las diagonales. Dentro de cada bucle mirar si la posición contiene un 1, si es así guardas la posición de la matriz en un array auxiliar y sumas uno a un contador, sino contiene un 1 borras ese array auxiliar y pones el contador a 0. después de cada bucle compruebas que el contador sea 3 o mayor, si es así con el bucle auxiliar pones 0 donde toca.
No sé si me he explicado bien. Espero que te sirva de base.
Si es lo primero que intenté.
Código:
/**
* Metodo que quita las filas que coinciden
*/
this.quitarLineas = function() {
var aaTem = new Array();
var iCont = 0;
//Busca en horizontal
for (var i = 0; i < this.iLogTab; i++) {
for (var j = 0; j < this.iLogTab - 1; j++) {
if(this.aaTablero[i][j] != 0
&& this.aaTablero[i][j + 1] != 0
&& this.aaTablero[i][j] == this.aaTablero[i][j + 1]) {
aaTem[aaTem.length] = new Array(i, j);
iCont++;
} else if(iCont >= this.iNumLineas && j != 0) {
aaTem[aaTem.length] = new Array(i, j);
iCont = 0;
for (var k = 0; k < aaTem.length; k++) {
this.aaTablero[aaTem[k][0]][aaTem[k][1]] = 0;
console.log('Ehhh ' + aaTem[k][0] + ' ' + aaTem[k][1]);
}
aaTem = new Array();
} else {
iCont = 0;
aaTem = new Array();
}
}
}
}
Pero ni funciona ni sirve para las diagonales
Gracias de todos modos.