-
Notifications
You must be signed in to change notification settings - Fork 0
/
readSudoku.js
41 lines (38 loc) · 1.45 KB
/
readSudoku.js
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
34
35
36
37
38
39
40
41
// Crear variable con el tablero para agregrar eventos
let tablero = document.getElementById('tableroSudoku');
// Crear variable global con los valores del tablero
let valoresTablero = {};
// Cuando se haga click en el tablero llamar función de leer el tablero
tablero.addEventListener('change', (e)=>{
tablero = document.getElementById('tableroSudoku');
readSudoku(tablero);
});
// funcion de leer los valores del tablero
function readSudoku(tablero) {
// Reiniciar objeto con los valores del tablero
valoresTablero = {};
filasE = tablero.children;
// Iterar por cada fila
for (let f=0; f < filasE.length; f++) {
const columnas = filasE[f].children;
// iterar por cada columna
for (let c=0; c < columnas.length; c++) {
const celdas = columnas[c].children;
const tipoCelda = celdas[0].tagName;
// Guardar el valor de la casilla junto con la fila y su columna
valoresTablero[`(${f},${c})`] = {};
if (tipoCelda === 'DIV') {
valoresTablero[`(${f},${c})`]['valor'] = celdas[0].innerHTML;
} else {
valoresTablero[`(${f},${c})`]['valor'] = celdas[0].value;
}
valoresTablero[`(${f},${c})`]['fila'] = f;
valoresTablero[`(${f},${c})`]['columna'] = c;
}
}
console.log(valoresTablero);
if (evaluateSudoku(valoresTablero)) {
winEffect();
};
return valoresTablero;
}