<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Sudoku_amb_Javascript</id>
	<title>Sudoku amb Javascript - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Sudoku_amb_Javascript"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Sudoku_amb_Javascript&amp;action=history"/>
	<updated>2026-08-30T07:52:26Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Sudoku_amb_Javascript&amp;diff=297185&amp;oldid=prev</id>
		<title>Joan: Es crea la pàgina amb «=El Joc del Sudoku= *https://www.sudokubum.com/  Objectiu: #fer funcionar localment el sudoku #modificar algun aspecte de la funcionalitat  Primer de tot mirem el codi...».</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Sudoku_amb_Javascript&amp;diff=297185&amp;oldid=prev"/>
		<updated>2021-01-18T19:26:39Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «=El Joc del Sudoku= *https://www.sudokubum.com/  Objectiu: #fer funcionar localment el sudoku #modificar algun aspecte de la funcionalitat  Primer de tot mirem el codi...».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=El Joc del Sudoku=&lt;br /&gt;
*https://www.sudokubum.com/&lt;br /&gt;
&lt;br /&gt;
Objectiu:&lt;br /&gt;
#fer funcionar localment el sudoku&lt;br /&gt;
#modificar algun aspecte de la funcionalitat&lt;br /&gt;
&lt;br /&gt;
Primer de tot mirem el codi font i l'executem en local. Mirem el codi font i veiem els fitxers que ens faltes:&lt;br /&gt;
*CSS: css/styles.css&lt;br /&gt;
*JS: js/DLX.js i js/all.js&lt;br /&gt;
Veiem que el codi està fet amb JQuery.&lt;br /&gt;
&lt;br /&gt;
descarreguem aquests fitxers que ens falten, amb les rutes correctes, i ja podem jugar localment al Sudoku.&lt;br /&gt;
&lt;br /&gt;
Volem fer una modificació de la funcionalitat. Per exemple: anular la possibilitat de fer Pause en el joc.&lt;br /&gt;
Cerquem per ''click'' en el fitxer all.js, però és un embolic. El codi està ofuscat. Utilitzem el servei online:&lt;br /&gt;
*https://beautifier.io/&lt;br /&gt;
per tal de separar en línies el nostre codi js (el fitxer ''all.js'') i entendre una mica com funciona. Renombrem el nostre codi com a ''all2.js''.&lt;br /&gt;
&lt;br /&gt;
Fem ''inspeccionar'' sobre l'element del rellotge, i veiem que podem localitzar la part del ''timer'' en el codi:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Timer.prototype = {&lt;br /&gt;
    set: function(t) {&lt;br /&gt;
        return t = t.split(&amp;quot;:&amp;quot;), this.hour = t[0], this.min = t[1], this.sec = t[2], this&lt;br /&gt;
    },&lt;br /&gt;
    bindFocus: function() {&lt;br /&gt;
        var t = this;&lt;br /&gt;
        clearInterval(this.focus), document.hasFocus &amp;amp;&amp;amp; (t.focus = setInterval(function() {&lt;br /&gt;
            document.hasFocus() ? t.paused &amp;amp;&amp;amp; (window.clearInterval(this.refresh), t.go()) : t.stop()&lt;br /&gt;
        }, 200))&lt;br /&gt;
    },&lt;br /&gt;
    events: function() {&lt;br /&gt;
...&lt;br /&gt;
        var e = this,&lt;br /&gt;
            r = $(&amp;quot;&amp;lt;h2&amp;gt;&amp;quot;).addClass(&amp;quot;pauseGame&amp;quot;).text(texts.pause),&lt;br /&gt;
            i = !0;&lt;br /&gt;
        this.el.on(&amp;quot;click&amp;quot;, t)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Encara que sigui difícil d'entendre la part ''this.el.on(&amp;quot;click&amp;quot;, t)'' és la que associa l'event click sobre el timer, que activa o desactiva el pause. Per tant, comento o elimino les següents línies:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        var e = this,&lt;br /&gt;
            r = $(&amp;quot;&amp;lt;h2&amp;gt;&amp;quot;).addClass(&amp;quot;pauseGame&amp;quot;).text(texts.pause),&lt;br /&gt;
            i = !0;&lt;br /&gt;
        this.el.on(&amp;quot;click&amp;quot;, t)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ja hem fet una modificació que afecta a la funcionalitat del joc.&lt;br /&gt;
&lt;br /&gt;
==Guardar variables amb localStorage==&lt;br /&gt;
Veiem que podem guardar la partida que estem fent (''save''). I és que amb Javascript tenim la possibilitat de guardar variables en local, amb l'objecte ''localStorage'' (similar a com es fa amb les cookies, però amb un propòsit més general). Això és important perquè des de Javascript l'accés al disc dur està deshabilitat (seria un ''fallo'' de seguretat molt gran). Però sí que podem accedir de forma segura a guardar variables locals mitjançant ''localeStorage''. I això és el que es fa servir per guardar la partida.&lt;br /&gt;
&lt;br /&gt;
Més informació:&lt;br /&gt;
*https://www.tiny.cloud/blog/javascript-localstorage/&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, gener 2021&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>