SUDOKU
HTML
copySUDOKU
CSS
copy#page-design {
position: relative;
width: 100%;
height: 100%;
background-image: url("../img/sudoku/sous-les-bambous.png");
background-repeat: no-repeat;
}
#page-design::before {
position: absolute;
z-index: -1;
content: "";
width: 100%;
height: 120%;
background-image:url("../img/sudoku/personnage.jpg");
background-repeat: no-repeat;
background-position: 115% 90%;
background-size: 30%;
}
#page-design h3 {
position: relative;
width: 100%;
text-align: center;
margin-bottom: 1rem!important;
margin-left: auto;
margin-right: auto;
padding-top: 1rem;
}
#page-design h3 span, #menu_sudoku span {
display: none;
}
#grille {
position: relative;
width: 300px;
height: 300px;
margin: 0 auto;
}
#grille_img, #grille_slc {
position: relative;
z-index: 0;
width: 100%;
height: 100%;
display: grid;
grid-template-columns: repeat(9, 1fr);
grid-template-rows: repeat(9, 1fr);
}
#grille_slc {
position: absolute;
z-index: -1;
left: 0;
top: 0;
}
#grille_img div {
position: relative;
width: 100%;
height: 100%;
border: 1px dashed #ccc;
background-color: #fff;
}
#grille_slc div {
position:relative;
visibility: hidden;
width: 100%;
height: 100%;
border: 1px solid rgba(0,0,0,0);
background-color: transparent;
}
#grille_slc select {
display: block;
width: 100%;
height: 100%;
border: none;
background-color: transparent;
}
#grille_img #item_img11, #grille_img #item_img21, #grille_img #item_img31,
#grille_img #item_img41, #grille_img #item_img51, #grille_img #item_img61,
#grille_img #item_img71, #grille_img #item_img81, #grille_img #item_img91 {
border-left: 1px solid #000;
}
#grille_img div:nth-child(3n) {
border-right: 1px solid #000;
}
#grille_img #item_img11, #grille_img #item_img12, #grille_img #item_img13,
#grille_img #item_img14, #grille_img #item_img15, #grille_img #item_img16,
#grille_img #item_img17, #grille_img #item_img18, #grille_img #item_img19,
#grille_img #item_img41, #grille_img #item_img42, #grille_img #item_img43,
#grille_img #item_img44, #grille_img #item_img45, #grille_img #item_img46,
#grille_img #item_img47, #grille_img #item_img48, #grille_img #item_img49,
#grille_img #item_img71, #grille_img #item_img72, #grille_img #item_img73,
#grille_img #item_img74, #grille_img #item_img75, #grille_img #item_img76,
#grille_img #item_img77, #grille_img #item_img78, #grille_img #item_img79 {
border-top: 1px solid #000;
}
#grille_img #item_img91, #grille_img #item_img92, #grille_img #item_img93,
#grille_img #item_img94, #grille_img #item_img95, #grille_img #item_img96,
#grille_img #item_img97, #grille_img #item_img98, #grille_img #item_img99 {
border-bottom: 1px solid #000;
}
#grille_img div img {
width: 100%;
height: 100%;
}
#grille_img div:hover {
background-color:#fefec1;
}
#menu_sudoku {
position: relative;
width: 300px;
margin: 0 auto;
text-align: center;
background-color: transparent;
display: flex;
flex-direction: row;
}
#menu_sudoku #new {
position: relative;
width: 62px;
height: 25px;
background-image: url("../img/sudoku/nouv1.jpg");
background-repeat: no-repeat;
background-position: 0 3px;
margin-left: 0.25rem;
margin-bottom: 0.1rem;
padding-top: 0.35rem;
padding-left: 1rem;
color: #000;
font-size: 10px;
}
#menu_sudoku #enter {
position: relative;
width: 62px;
height: 25px;
background-image: url("../img/sudoku/nouv1.jpg");
background-repeat: no-repeat;
background-position: 0 3px;
margin-left: 0.25rem;
margin-bottom: 0.1rem;
padding-top: 0.35rem;
padding-left: 1.25rem;
color: #000;
font-size: 10px;
}
#menu_sudoku #new:hover, #menu_sudoku #enter:hover {
background-image: url("../img/sudoku/nouv2.jpg");
color: #fefec1;
}
#menu_sudoku #answer, #menu_sudoku #data {
margin-left: 0.25rem;
}
@media (min-width: 768px) {
#page-design h3 {
width: 40%;
}
#page-design::before {
height: 90%;
background-image:url("../img/sudoku/personnage.jpg");
background-repeat: no-repeat;
background-position: bottom right;
background-size: 20%;
}
}
JAVASCRIPT
copyvar grille_jeux = new Array(
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]
);
// ________________________________________________________________________________________________________________
// ***************************************** LISTING GRILLES DE JEUX ***************************************
var grille_ordi = new Array();
// NIVEAU : FACILE )|---------------------------------------------------------------------
grille_ordi[10000] = new Array(
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,3,2,5],
[0,2,1,5,6,0,0,0,0,0],
[0,8,7,3,9,2,5,4,1,0],
[0,0,2,0,4,0,0,0,0,1],
[0,3,8,9,2,1,6,5,7,4],
[0,1,6,0,5,0,9,2,3,0],
[0,0,3,8,0,0,4,1,0,2],
[0,6,0,0,3,0,1,8,0,7],
[0,7,0,1,8,0,2,9,5,3]
);
// ________________________________________________________________________________________________________________
// **************************************** FONCTIONS DE CONTROLE *********************************************
var enter_grid = true; // Si l'on n'entre pas de grille mode de jeux type
function grille_de_jeux() { // mise en place d'une grile de jeu
vider();
enter_grid = false;
if (enter_grid === false) {
var min = 0; var max = 6;
var a = Math.trunc(Math.random() * (max - min) + min); // sélection aléatoir des grilles;
var mode = document.getElementById("mode").value;
var nb = 10000 * parseInt(mode) + a; //var nb = 10000 * parseInt(mode) + a;
if (Array.isArray(grille_ordi[nb])) { // création grille
grille_jeux = grille_ordi[nb];
for(var y = 1; y < 10; y++) {
for(var x = 1; x < 10; x++) {
document.getElementById("case" + (y*10+x)).src = "html/img/sudoku/vide.png?s=" + Date.now();
if (grille_jeux[y][x] > 0 && grille_jeux[y][x] < 10) {
document.getElementById("case" + (y*10+x)).src = "html/img/sudoku/ordi" + grille_jeux[y][x] + ".png?s=" + Date.now();
}
}
}
} // fin création grille
} // Si jeux type
}
function cacher_slc(n) { // Cacher le select et placer la valeur sur la grille
var ch = document.getElementById("slc" + n).value;
var y = Math.trunc(n/10);
var x = n - (y*10);
document.getElementById("item_slc" + n).style = "visibility: hidden;";
if (enter_grid === false) {
if (grille_jeux[y][x] == 0) {
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + ch + ".png?s=" + Date.now();
grille_jeux[y][x] = ch; // je réjouter le chiffre dans l'array
}
} else {
document.getElementById("case" + n).src = "html/img/sudoku/ordi" + ch + ".png?s=" + Date.now();
grille_jeux[y][x] = ch; // je réjouter le chiffre dans l'array
}
document.getElementById("grille_slc").style = "z-index: -1;";
}
function action(n) { // Ouvrir le select de chiffre
var y = Math.trunc(n/10);
var x = n - (y*10);
if (enter_grid === false) {
if (grille_jeux[y][x] == 0) {
document.getElementById("grille_slc").style = "z-index: 1;";
document.getElementById("slc" + n).options[0].selected = true;
document.getElementById("item_slc" + n).style = "visibility: visible;";
}
} else {
document.getElementById("grille_slc").style = "z-index: 1;";
document.getElementById("slc" + n).options[0].selected = true;
document.getElementById("item_slc" + n).style = "visibility: visible;";
}
}
function enter() {
if (control_vide() == 0) {
vider();
enter_grid = true;
} else { // si grille entrer
if (enter_grid === true) { // Si la grille est en mode entrer
if(confirm("Une grille existe !\n Voullez-vous passer en mode Joueur ?\n Si non entrer une nouvelle grille ?")) {
enter_grid = false; // passer en mode joueur
} else { // vider et entrer une nouvelle grille
vider();
enter_grid = true;
}
} else { // vider et entrer une nouvelle grille
vider();
enter_grid = true;
}
}
}
function vider() {
//grille_possibles = [];
grille_jeux = new Array(
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0]
);
for(var y = 1; y < 10; y++) {
for(var x = 1; x < 10; x++) {
document.getElementById("case" + (y*10+x)).src = "html/img/sudoku/vide.png?s=" + Date.now();
}
}
}
// ---
// ________________________________________________________________________________________________________________
// *********************************************** MISE EN FORME ***********************************************
function grille() {
var grille = "";
grille = "";
grille += "";
for (var y = 1; y < 10; y++) {
for (var x = 1; x < 10; x++) {
grille += "";
}
}
grille += "";
document.write(grille);
}
function btn_solution(p) {
if (p == 1) {
document.getElementById("img_solt").src = "html/img/sudoku/solut1.jpg";
} else {
document.getElementById("img_solt").src = "html/img/sudoku/solut2.jpg";
}
}
function btn_info(p) {
if (p == 1) {
document.getElementById("img_info").src = "html/img/sudoku/aide1.jpg";
} else {
document.getElementById("img_info").src = "html/img/sudoku/aide2.jpg";
}
}
// ---
// ________________________________________________________________________________________________________________
// ***************************************** SOLUTION DE LA GRILLE ***************************************
var chiffres = new Array(1,2,3,4,5,6,7,8,9);
var pos_frames = new Array(
[0,0,0,0,0,0,0,0,0,0],
[0,11,12,13,21,22,23,31,32,33],
[0,14,15,16,24,25,26,34,35,36],
[0,17,18,19,27,28,29,37,38,39],
[0,41,42,43,51,52,53,61,62,63],
[0,44,45,46,54,55,56,64,65,66],
[0,47,48,49,57,58,59,67,68,69],
[0,71,72,73,81,82,83,91,92,93],
[0,74,75,76,84,85,86,94,95,96],
[0,77,78,79,87,88,89,97,98,99],
);
var grille_line = new Array();
var grille_column = new Array();
var grille_frame = new Array();
function solution() {
if (control_vide() == 0) {
message_solution(1);
} else { // Si la grille n'est pas vide
for(var b=0; b < 15; b++){
reading();
var grille_possibles = new Array();
for (var y = 1; y < 10; y++) {
grille_possibles[y] = new Array();
for (var x = 1; x < 10; x++) {
var p = new Array();
var f = Math.trunc(pos_frames[y][x]/10);
for(var c = 0; c < 9; c++) {
var ts = chiffres[c];
var lg = true; var cl = true; var fm = true;
if (grille_line[y].indexOf(ts) > -1 || grille_line[y].indexOf(ts.toString()) > -1) {
lg = false;
}
if (grille_column[x].indexOf(ts) > -1 || grille_column[x].indexOf(ts.toString()) > -1) {
cl = false;
}
if (grille_frame[f].indexOf(ts) > -1 || grille_frame[f].indexOf(ts.toString()) > -1) {
fm = false;
}
if (lg && cl && fm && grille_jeux[y][x] == 0) {
p.push(ts);
}
}
grille_possibles[y][x] = new Array();
if (x == 6 && y == 6) {
//alert(p+" --- "+grille_jeux[y1][x] + ", "+grille_jeux[y2][x]);
}
if (p.length > 0) {
grille_possibles[y][x] = p;
/* ----------------------------------------------------------- */
if (p.length == 1) { // Si une seule possibilité
var n = y * 10 + x;
grille_jeux[y][x] = p[0];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[0] + ".png?s=" + Date.now();
}
/* ----------------------------------------------------------- */
reading();
if (p.length > 1 && p.length < 4 && grille_jeux[y][x] == 0) { // Si deux à trois possibilités
if (x == 1 || x == 4 || x == 7) { var x1 = x+1; var x2 = x+2; }
if (x == 2 || x == 5 || x == 8) { var x1 = x-1; var x2 = x+1; }
if (x == 3 || x == 6 || x == 9) { var x1 = x-2; var x2 = x-1; }
if (y == 1 || y == 4 || y == 7) { var y1 = y+1; var y2 = y+2; }
if (y == 2 || y == 5 || y == 8) { var y1 = y-1; var y2 = y+1; }
if (y == 3 || y == 6 || y == 9) { var y1 = y-2; var y2 = y-1; }
// Controle croisé sur les quatres côtés
// valeur 1
if ( (grille_line[y1].indexOf(p[0]) > -1 || grille_line[y1].indexOf(p[0].toString()) > -1) &&
(grille_line[y2].indexOf(p[0]) > -1 || grille_line[y2].indexOf(p[0].toString()) > -1) &&
(grille_column[x1].indexOf(p[0]) > -1 || grille_column[x1].indexOf(p[0].toString()) > -1) &&
(grille_column[x2].indexOf(p[0]) > -1 || grille_column[x2].indexOf(p[0].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[0];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[0] + ".png?s=" + Date.now();
}
// valeur 2
if ( (grille_line[y1].indexOf(p[1]) > -1 || grille_line[y1].indexOf(p[1].toString()) > -1) &&
(grille_line[y2].indexOf(p[1]) > -1 || grille_line[y2].indexOf(p[1].toString()) > -1) &&
(grille_column[x1].indexOf(p[1]) > -1 || grille_column[x1].indexOf(p[1].toString()) > -1) &&
(grille_column[x2].indexOf(p[1]) > -1 || grille_column[x2].indexOf(p[1].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[1];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[1] + ".png?s=" + Date.now();
}
// Controle croisé sur deux côté et les cases accolés pleines
// Valeur 1
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y1][x] !== p[0] && grille_jeux[y2][x] !== p[0] &&
grille_jeux[y][x1] !== p[0] && grille_jeux[y][x2] !== p[0] &&
(grille_column[x1].indexOf(p[0]) > -1 || grille_column[x1].indexOf(p[0].toString()) > -1) &&
(grille_column[x2].indexOf(p[0]) > -1 || grille_column[x2].indexOf(p[0].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[0];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[0] + ".png?s=" + Date.now();
}
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y1][x] !== p[0] && grille_jeux[y2][x] !== p[0] &&
grille_jeux[y][x1] !== p[0] && grille_jeux[y][x2] !== p[0] &&
(grille_line[y1].indexOf(p[0]) > -1 || grille_line[y1].indexOf(p[0].toString()) > -1) &&
(grille_line[y2].indexOf(p[0]) > -1 || grille_line[y2].indexOf(p[0].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[0];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[0] + ".png?s=" + Date.now();
}
// Valeur 2
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y1][x] !== p[1] && grille_jeux[y2][x] !== p[1] &&
grille_jeux[y][x1] !== p[1] && grille_jeux[y][x2] !== p[1] &&
(grille_column[x1].indexOf(p[1]) > -1 || grille_column[x1].indexOf(p[1].toString()) > -1) &&
(grille_column[x2].indexOf(p[1]) > -1 || grille_column[x2].indexOf(p[1].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[1];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[1] + ".png?s=" + Date.now();
}
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y1][x] !== p[1] && grille_jeux[y2][x] !== p[1] &&
grille_jeux[y][x1] !== p[1] && grille_jeux[y][x2] !== p[1] &&
(grille_line[y1].indexOf(p[1]) > -1 || grille_line[y1].indexOf(p[1].toString()) > -1) &&
(grille_line[y2].indexOf(p[1]) > -1 || grille_line[y2].indexOf(p[1].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[1];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[1] + ".png?s=" + Date.now();
}
// Valeur 3
if (p[2] > 0) {
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y1][x] !== p[2] && grille_jeux[y2][x] !== p[2] &&
grille_jeux[y][x1] !== p[2] && grille_jeux[y][x2] !== p[2] &&
(grille_column[x1].indexOf(p[2]) > -1 || grille_column[x1].indexOf(p[2].toString()) > -1) &&
(grille_column[x2].indexOf(p[2]) > -1 || grille_column[x2].indexOf(p[2].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[2];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[2] + ".png?s=" + Date.now();
}
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y1][x] !== p[2] && grille_jeux[y2][x] !== p[2] &&
grille_jeux[y][x1] !== p[2] && grille_jeux[y][x2] !== p[2] &&
(grille_line[y1].indexOf(p[2]) > -1 || grille_line[y1].indexOf(p[2].toString()) > -1) &&
(grille_line[y2].indexOf(p[2]) > -1 || grille_line[y2].indexOf(p[2].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[2];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[2] + ".png?s=" + Date.now();
}
}
}
/* ----------------------------------------------------------- */
reading();
if (grille_jeux[y][x] == 0) { // Si plus de trois possibilités
if (x == 1 || x == 4 || x == 7) { var x1 = x+1; var x2 = x+2; }
if (x == 2 || x == 5 || x == 8) { var x1 = x-1; var x2 = x+1; }
if (x == 3 || x == 6 || x == 9) { var x1 = x-2; var x2 = x-1; }
if (y == 1 || y == 4 || y == 7) { var y1 = y+1; var y2 = y+2; }
if (y == 2 || y == 5 || y == 8) { var y1 = y-1; var y2 = y+1; }
if (y == 3 || y == 6 || y == 9) { var y1 = y-2; var y2 = y-1; }
for(var pt = 0; pt < p.length; pt++) {
// Si valeur dans la ligne 2 colonne 1 et 2 et case en y1,x > 0
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] == 0 &&
grille_jeux[y1][x] !== p[pt] &&
(grille_line[y2].indexOf(p[pt]) > -1 || grille_line[y2].indexOf(p[pt].toString()) > -1) &&
(grille_column[x1].indexOf(p[pt]) > -1 || grille_column[x1].indexOf(p[pt].toString()) > -1) &&
(grille_column[x2].indexOf(p[pt]) > -1 || grille_column[x2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si valeur dans la ligne 1 colonne 1 et 2 et case en y2,x > 0
if (
grille_jeux[y1][x] == 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y2][x] !== p[pt] &&
(grille_line[y1].indexOf(p[pt]) > -1 || grille_line[y1].indexOf(p[pt].toString()) > -1) &&
(grille_column[x1].indexOf(p[pt]) > -1 || grille_column[x1].indexOf(p[pt].toString()) > -1) &&
(grille_column[x2].indexOf(p[pt]) > -1 || grille_column[x2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si valeur dans la colonne 1 ligne 1 et 2 et case en y,x1 > 0
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] == 0 &&
grille_jeux[y][x1] !== p[pt] &&
(grille_column[x2].indexOf(p[pt]) > -1 || grille_column[x2].indexOf(p[pt].toString()) > -1) &&
(grille_line[y1].indexOf(p[pt]) > -1 || grille_line[y1].indexOf(p[pt].toString()) > -1) &&
(grille_line[y2].indexOf(p[pt]) > -1 || grille_line[y2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si valeur dans la colonne 2 ligne 1 et 2 et case en y,x2 > 0
if (
grille_jeux[y][x1] == 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y][x2] !== p[pt] &&
(grille_column[x1].indexOf(p[pt]) > -1 || grille_column[x1].indexOf(p[pt].toString()) > -1) &&
(grille_line[y1].indexOf(p[pt]) > -1 || grille_line[y1].indexOf(p[pt].toString()) > -1) &&
(grille_line[y2].indexOf(p[pt]) > -1 || grille_line[y2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
/*
// Si case pleine en colonne x et x1 et valeur présente colonne x2
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y][x1] > 0 && grille_jeux[y1][x1] > 0 && grille_jeux[y2][x1] > 0 &&
(grille_column[x2].indexOf(p[pt]) > -1 || grille_column[x2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si case pleine en colonne x et x2 et valeur présente colonne x1
if (
grille_jeux[y1][x] > 0 && grille_jeux[y2][x] > 0 &&
grille_jeux[y][x2] > 0 && grille_jeux[y1][x2] > 0 && grille_jeux[y2][x2] > 0 &&
(grille_column[x1].indexOf(p[pt]) > -1 || grille_column[x1].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si case pleine en colonne y et y1 et valeur présente colonne y2
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y1][x] > 0 && grille_jeux[y1][x1] > 0 && grille_jeux[y1][x2] > 0 &&
(grille_column[y2].indexOf(p[pt]) > -1 || grille_column[y2].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
// Si case pleine en colonne y et y2 et valeur présente colonne y1
if (
grille_jeux[y][x1] > 0 && grille_jeux[y][x2] > 0 &&
grille_jeux[y2][x] > 0 && grille_jeux[y2][x1] > 0 && grille_jeux[y2][x2] > 0 &&
(grille_column[y1].indexOf(p[pt]) > -1 || grille_column[y1].indexOf(p[pt].toString()) > -1)
) {
var n = y * 10 + x;
grille_jeux[y][x] = p[pt];
document.getElementById("case" + n).src = "html/img/sudoku/jeux" + p[pt] + ".png?s=" + Date.now();
}
*/
} // fin loop : boucle pt
}
} else {
grille_possibles[y][x] = 0;
}
}
}
} // loop solution en boucle 10x
} // end if
}
function control_vide() {
var t = 0;
for(var y = 1; y < 10; y++) {
for(var x = 1; x < 10; x++) {
if (grille_jeux[y][x] > 0) { t++; }
}
}
return t;
}
function reading() {
grille_line = new Array();
grille_column = new Array();
grille_frame = new Array();
grille_line = grille_jeux;
for (var x = 1; x < 10; x++) {
grille_column[x] = new Array();
for (var y = 1; y < 10; y++) {
grille_column[x][y] = grille_jeux[y][x];
}
}
for (var y = 1; y < 10; y++) {
grille_frame[y] = new Array();
for (var x = 1; x < 10; x++) {
var p = pos_frames[y][x];
var yf = Math.trunc(p/10);
var xf = p - (yf*10);
grille_frame[y][x] = grille_jeux[yf][xf];
}
}
}
function message_solution(m) {
if (m == 1) { alert("Désolé, mais La grille est vide !\nJe vous propose d'en entrer une ?"); }
}
// ****************************************************************************************************************
// ________________________________________________________________________________________________________________