Veremos como podemos resolver un sudoku introduciendo los números por teclado.
IV Asamblea de la AEC: IV Asamblea General de la Asociación Española de Caricaturistas
Tanto Bush como Clinton están de acuerdo en que la clonación es algo negativo. En el caso de Clinton se explica porque él prefiere que los seres humanos sean creados al modo tradicional: a hurtadillas en la oscura habitación de un motel de carretera
Jay Leno, locutor estadounidense (1950).
En esta zona están las páginas personales del autor.
Mis clientes ahora también son mis amigos (aunque les cobre).
En Mis amigos Informáticos hay una pequeña colección de páginas de colegas webmasters..
En Mis amigos artistas podemos encontrar artistas de cualquier índole (dibujantes, pintores, escritores...)
Las recomendaciones que proponemos son de índole variada.
Aquí un cajón de sastre de enlaces.
Nos referencian desde sitios de toda índole.
Puede contribuir a mantener esta página con su donativo.
Veremos como podemos resolver un sudoku introduciendo los números por teclado. No intentaremos resolverlo con código, ya que nuestra intención es otra: la interacción.
Podemos escoger entre los sudokus en miniatura, o incluír cada número pulsando sobre cada casilla. En este caso no hacemos ninguna verificación.
Algunos de los ejemplos los hemos visto ya en anteriores apuntes.
Para responder a un evento hay que asociarlo de la misma forma que con cualquier elemento html. Hemos asignado un identificador "id" a cada casilla de forma que la primera tiene id="casilla_0_0" y la última : id="casilla_8_8"; y dentro de cada casilla tenemos un elemento "text" (texto) con similar identificador, reemplazando "casilla_" por "txt_":
function tag(id) {return document.getElementById(id);} function poner_evento(elemento, evento, f) { if (document.addEventListener) elemento.addEventListener(evento, f, true); else if (document.attachEvent) elemento.attachEvent("on" + evento, f); else elemento["on" + evento] = f; } // De la inicialización de la página, nos interesan estas pocas líneas. for (i = 0; i < 9; i++) for (j = 0; j < 9; j++) { tag("txt_" + i + "_" + j).appendChild(document.createTextNode("")); poner_evento(tag("casilla_" + i + "_" + j), "click", entrada); }
Podemos resumir en estas pocas líneas que a cada casilla le asociamos al evento "click" (onclick) la función "entrada()" que mostramos a continuación:
function entrada() { id = this.id; coleta = id.substr(8); xy = coleta.split("_"); n_actual = tag("txt_" + coleta).firstChild.data; n = prompt("nuevo valor para la casilla [" + xy + "] : ", n_actual)[0]; if ("123456789".indexOf(n) != -1) { sudoku = document.forms.form_sudoku.inicio.value; valores = sudoku.split(""); posi = parseInt(xy[0]) * 9 + parseInt(xy[1]); valores[posi] = n; document.forms.form_sudoku.inicio.value = valores.join(""); tag("txt_" + coleta).replaceChild(document.createTextNode(n), tag("txt_" + coleta).firstChild); } }
Sobre este último código, solo reseñaremos que tanto la lectura como escritura de nodos de texto se hace de la misma manera que hemos hecho hasta el momento.
Este apunte aún no tiene comentarios.
Valoración de esta página: (apunte.115)
Esta página ha sido visitada en 7906 ocasiones
Y del Mapa del sitio, además del sitemap.xml.
Aquí podemos encontrar los apuntes más visitados.
"Top 10" reemplaza a la sección Últimos apuntes.
Una buena forma de buscar un apunte es a partir de su categoría.
También es posible buscar apuntes por medio de las etiquetas (tags).
Hemos decidido poner al alcance de todos algunos comodines.
Adjuntamos una versión reducida del "buscador interno" que vemos en la lista anterior:
También estamos recopilando antiguas páginas del sitio.
Desde este recuadro se puede hacer una búsqueda cronológica.
Se puede crear una postal nueva desde el enlace del sector "Otras páginas del dominio", o editar la que sale en el recuadro, pulsando sobre ella..