Générateur de Sudoku.
Binder31
Messages postés
49
Statut
Membre
-
Binder31 Messages postés 49 Statut Membre -
Binder31 Messages postés 49 Statut Membre -
Bonjour,
je tente de coder un programme générant aléatoirement des grilles de sudoku,
mais je ne sais pas trop par où commencer, j'ai d'abord pensé à une méthode s'approchant du brute force, mais cette idée est évidement débile... ^^
J'espère que vous pourrez m'aider.
je tente de coder un programme générant aléatoirement des grilles de sudoku,
mais je ne sais pas trop par où commencer, j'ai d'abord pensé à une méthode s'approchant du brute force, mais cette idée est évidement débile... ^^
J'espère que vous pourrez m'aider.
A voir également:
- Générateur sudoku
- Generateur mot de passe - Télécharger - Sécurité
- Generateur d image - Guide
- Generateur de cle windows 10 - Guide
- Generateur de fausse identité - Guide
- Générateur de clé d'activation - Accueil - Windows
3 réponses
Bonjour,
je me suis amusé a coder un sudoku en javascript si ça t'intéresse, j'ai donc eu les mêmes problématiques.
Une façon de générer des grilles est la suivante :
tu pars d'une solution :
et tu inter-changes 2 lignes ou 2 colonnes seulement si elles appartiennent au même sous-carré.
(qu'elle phrase compliqué !)
tu aurais par exemple :
puis
Il faut ajouter un coté aléatoire au nombre de changements et au lignes ou colonnes changées.
Si ca t'intéresse tu peux télécharger et regarder ce code :
https://code.google.com/archive/p/js-sudoku
Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
je me suis amusé a coder un sudoku en javascript si ça t'intéresse, j'ai donc eu les mêmes problématiques.
Une façon de générer des grilles est la suivante :
tu pars d'une solution :
[1,2,3, 4,5,6, 7,8,9] [4,5,6, 7,8,9, 1,2,3] [7,8,9, 1,2,3, 4,5,6] [2,3,4, 5,6,7, 8,9,1] [5,6,7, 8,9,1, 2,3,4] [8,9,1, 2,3,4, 5,6,7] [3,4,5, 6,7,8, 9,1,2] [6,7,8, 9,1,2, 3,4,5] [9,1,2, 3,4,5, 6,7,8]
et tu inter-changes 2 lignes ou 2 colonnes seulement si elles appartiennent au même sous-carré.
(qu'elle phrase compliqué !)
tu aurais par exemple :
[7,8,9, 1,2,3, 4,5,6] [4,5,6, 7,8,9, 1,2,3] [1,2,3, 4,5,6, 7,8,9] [2,3,4, 5,6,7, 8,9,1] [5,6,7, 8,9,1, 2,3,4] [8,9,1, 2,3,4, 5,6,7] [3,4,5, 6,7,8, 9,1,2] [6,7,8, 9,1,2, 3,4,5] [9,1,2, 3,4,5, 6,7,8]
puis
[7,8,9, 3,2,1, 4,5,6] [4,5,6, 9,8,7, 1,2,3] [1,2,3, 6,5,4, 7,8,9] [2,3,4, 7,6,5, 8,9,1] [5,6,7, 1,9,8, 2,3,4] [8,9,1, 4,3,2, 5,6,7] [3,4,5, 8,7,6, 9,1,2] [6,7,8, 2,1,9, 3,4,5] [9,1,2, 5,4,3, 6,7,8]
Il faut ajouter un coté aléatoire au nombre de changements et au lignes ou colonnes changées.
Si ca t'intéresse tu peux télécharger et regarder ce code :
https://code.google.com/archive/p/js-sudoku
Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
Et bien avec tout plein de Random...
1 : Tu te fais une marge de difficulté : Démoniaque (tu donnes 3 chiffres), Très dur (4), dur(5),moyen(6),facile(7),très facile(8), bébé(9), etc.
2 : Quand l'utilisateur choisi une difficulté, tu faire répeter la boucle que je fais t'écrire plus bas le nombre X de fois que tu donne des chiffres.
3 : Tu sort un # Random de colonne, un autre de # de ligne et un autre de # sudoku, ensuite, tu vérifie via un tableau ou une grille si la colonne sorti par le Random, et tu vérifie que ne nombre sorti respecte les critères de sudoku : Pas sur la même ligne, colonne, carré.
Ça devrait ressembler un peu à cela...
1 : Tu te fais une marge de difficulté : Démoniaque (tu donnes 3 chiffres), Très dur (4), dur(5),moyen(6),facile(7),très facile(8), bébé(9), etc.
2 : Quand l'utilisateur choisi une difficulté, tu faire répeter la boucle que je fais t'écrire plus bas le nombre X de fois que tu donne des chiffres.
3 : Tu sort un # Random de colonne, un autre de # de ligne et un autre de # sudoku, ensuite, tu vérifie via un tableau ou une grille si la colonne sorti par le Random, et tu vérifie que ne nombre sorti respecte les critères de sudoku : Pas sur la même ligne, colonne, carré.
Ça devrait ressembler un peu à cela...
Et puis même si toutes les possibilités n'y sont pas, tu peux en faire un bon paquet ^^