SUDOKU

Isoler un chiffre (0 : rétablir)
Recharger la page  |  Mode actuel : ... - Changer de mode :

N° étape

Code pour vérifications

		

Code pour créer un bouton avec onclick

var el=document.getElementById("testcodebouton"); var onclick="alert('!');"; var newButton1 = document.createElement("button"); var newButton2 = document.createElement("button"); newButton1.innerHTML = "test1"; newButton2.innerHTML = "test2"; el.appendChild(newButton1); el.appendChild(newButton2); newButton1.setAttribute("onClick",onclick); newButton2.onclick=onclick; // cette syntaxe avec point ne marche pas // ni avec onclick ni avec onClick alert("1 : " + newButton1.getAttribute("onClick")); alert("2 : " + newButton1.onclick); alert("3 : " + newButton2.getAttribute("onclick")); alert("4 : " + newButton2.onclick); // La notation DOT ne fonctionne que pour les attributs standards // attribute vs property (différents mais synchronisés) // attribute not case sensitive - apparaît dans le code HTML // property : le nom peut être différent // class attribute = className property

Changer couleurs de petits chiffres

var el=cases[5][7]; el.style.opacity=0.8; var el1=el.childNodes[3]; alert(el1.id); el1.style.color="red";

Zones

// Vérifier que les tableaux cases possibles // sont les mêmes accédés depuis les chiffres // ou depuis les zones alert(zones[20].chiffres[3]); alert(chiffres_zones[3].zones[20]); zones[20].chiffres[3][4]=0; alert(zones[20].chiffres[3]); alert(chiffres_zones[3].zones[20]); // ======================; alert(zones[17].cases[5].id); // ======================; var el = zones_car[2][3].cases; var str = ""; for (var i = 0;i < el.length;i++){str += el[i].id + " "}; alert(str); // ======================; var i=1; var j=2; var str="zone carrée " + i + j + "\n"; for(var k=0;k<9;k++){ str += zones_car[i][j].cases[k].id + " "; }; alert(str);; // ======================; alert(typeof(zones_hor[3])); alert(zones_hor[3].cases[2].id); alert(zones_ver[6].cases[3].id); // ======================; var i=7; var j=5; var strh="zone horizontale " + i + "\n"; var strv="\nzone verticale " + j + "\n"; for(var k=1;k<=9;k++){ strh += zones_hor[i].cases[k].id + " "; strv += zones_ver[j].cases[k].id + " "; }; alert(strh + strv); // ======================; alert(zones[3].cases[5].id)

Liste des cases contigües

var str="liste des cases contigües:"; for (var i=0;i<16;i++){str+="\n"+cases[3][2].cases_adj[i].id}; alert(str);

Défaire la dernière case remplie

var el=getElementById('cadresudoku');alert(xinspect(el,30)); var el=cases[4][5]; alert(el.id); alert(el.state); alert(el.cases_adj.length); alert(el.cases_adj[2].id);

Vérification après bug...

var el=sudoku_create0(); alert(el.id); var el1=document.getElementById("cadresudoku"); alert(el.childNodes.length); el1.appendChild(el);
el=document.getElementById("cc35"); alert(el.innerHTML); alert(el.hasAttribute("class")); alert(typeof(el.id)); alert(typeof(el.cases_adj));
var el1=document.getElementById("cc38"); var el2=document.getElementById("cc38F"); el1.appendChild(el2);

Vérifier le mode exclure chiffres

el5=etapes[etape-1]; var n = el5.chiffres_exclus.length; var message=n+" chiffres exclus !"; for(var i=0;iVérifier état d'une case var i=3; var j=7; var el=cases[i][j]; alert(el.id + " : " + el.state);

Autres essais préalables

div test affichage état

zone test

onclick="test_el(this);" enlevé



classe exclu1

cadre test pour une zone



Boutons devenus inutiles

Aide

Commencer en cliquant sur «Créer grille vide».
Pour relancer un nouveau sudoku, cliquez sur le lien Recharger la page

Placer des chiffres dans la grille et résoudre un sudolu