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 42
|
<?php
// On déclare le tableau de possibilités et du sudoku
$possibilités = array();
$sudoku = array();
// Chaque ligne et chaque colonne peut contenir un nombre de 1 à 9
for($lignes=1;$lignes<10;$lignes++) {
for($colonnes=1;$colonnes<10;$colonnes++) {
$possibilités[$lignes][$colonnes] = '123456789';
}
}
// Pour chaque ligne du tableau de sudoku
for($lignes=1;$lignes<10;$lignes++) {
// Pour chaque colonne de la ligne du tableau de sudoku
for($colonnes=1;$colonnes<10;$colonnes++) {
// On prend dans le tableau de possibilités une valeur au hasard
$valeurCase = substr(str_shuffle($possibilités[$lignes][$colonnes]),0,1);
// Pour chaque case de la ligne
for($col=1;$col<10;$col++) {
// On enlève des possibilités la valeur tout juste générée
$possibilités[$lignes][$col] = str_replace($valeurCase,'',$possibilités[$lignes][$col]);
}
// Pour chaque ligne de la colonne
for($lig=1;$lig<10;$lig++) {
// On enlève des possibilités la valeur tout juste générée
$possibilités[$lig][$colonnes] = str_replace($valeurCase,'',$possibilités[$lig][$colonnes]);
}
// On stocke la valeur dans $sudoku
$sudoku[$lignes][$colonnes] = $valeurCase;
}
}
print_r($sudoku);
?> |
Partager