Bonjour,
Après deux jours de travaille j'ai réussi à gréer un générateur de grille de sudoku et maintenant je désire savoir comment faire pour vider les bon cellules afin que le jeu aura une solution.
Merci d'avance pour toute réponse;
Amir.
Bonjour,
Après deux jours de travaille j'ai réussi à gréer un générateur de grille de sudoku et maintenant je désire savoir comment faire pour vider les bon cellules afin que le jeu aura une solution.
Merci d'avance pour toute réponse;
Amir.
Je ne comprend pas bien ta question.
Si tu pars d'une grille valide, tu sais qu'en enlevant des nombres de cette grille tu as toujours un moyen d'obtenir la grille de départ (même dans le cas où tu laisses uniquement un chiffre)
La grille généré est 100% valide ma question est par exemple combien de case dois je vidé parce que si je ne laisse QU'UNE seul case le joueur na aucune chance de trouver la solution (la grille d'origine).
Bonsoir,
Si quelqu'un connait un moyen pour vider les bon cellules d'une grille valide afin d'obtenir un jeux de sudoku valide merci de laisser un message c'est très urgent, et puis je voudrais savoir comment doit on faire pour créer un systeme de gestion de niveau (facile, moyen, difficile).
Merci.
Après quelques recherches j'ai pensé a une simple solution.
D'abord créer un solutionneur de grille puis d'enlever un nombre aléatoire de la grille et de tester si le jeu a une solution et ainsi de suite jusqu'a par exemple avoir vidé 55 cellules pour le niveau facile et 60 pour le niveau moyen et 65 pour le niveau difficile.
Que pensez-vous ?
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
peut être la question qui doit être posée est la suivante:
combien de case doit-on supprimer pour avoir la difficulté (débutant-intermédiaire -avancé)
parce que plus on supprime des cases plus la grille sera plus difficile a résoudre
La difficulté est liée au nombre de CHOIX possibles pour les cases manquantes, à chaque étape la résolution. Ou plus exactement à la distribution de ces nombres.
Exemple: Si à chaque étape tu as toujours une case avec un seul choix possible, tu ne peux donc pas te tromper. Le tout est de trouver parmi toutes les cases manquantes celle qui a un seul choix. Par contre, si à une étape toutes les cases ont au moins 2 choix... il faudra tester et peut-etre se tromper.
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Premièrement merci pour toutes vos réponses puis :
Oui mais supposant qu'on vide par exemple 80 cellules, le jeux va avoir sans doute avoir une solution, plusieurs même, mais le problème se pose aux niveau de la résolution du joueurs de la grille, le joueurs ne peux jamais trouver la grille d'origine, c'est la qu'entre le jeux du solutionneur qui va travailler a la résolution de la grille d'une méthode classique comme le fait le joueur et si il trouve que la grille n'a pas qu'une SEUL solution il renvoie une erreur pour remettre le dernier nombre enlever et ainsi de suite.
Solution bête et méchante.
Tu pars de ta grille valide, tu supprimes un nombre, puis un autre et à chaque fois tu comptes le nombre de grille valide à partir de cette grille. Et dès que tu dépasse 1, il y aura un choix à faire entre deux grille valide donc tu peux t'arrêter avant.
Notes au passage que la difficulté n'est pas directement liée au nombre de cases vide.
Je croie que c'est ce que j'ai dis ma solution consiste a enlever un nombre aléatoire de la grille et de vérifier si la grille a UNE SEUL solution si c'est le cas en continue a enlever d'autre nombre jusqu'a par exemple 55 pour le niveau facile 60 pour moyen et 65 pour le niveau difficile sinon si la grille va avoir plus d'une seul solution en remet le dernier nombre a sa place et en enlève un autre et ainsi de suite.
C'est sur mais d'après cette théorie quel solution peut on avoir afin de créer plusieurs niveau de difficulté ?, pour moi la meilleur (la seul) et de modifier le nombre de cases vides selon le niveau, mais si vous avez d'autre idées merci bien de me les indiquer.
Pour infos je suis débutant en programmation (en tout cas c'est normale par rapport avec mon âge) je voudrais savoir combien de ligne de codes à peu près un sudoku prendra avec le C# parce que actuellement mon programme fait plus de 1000 lignes.
En fait il n'est pas forcément possible de répondre objectivement à ta question. Tout dépend comment tu programmes, comment tu écris tes algorithmes, les fonctionnalités que tu proposes, bref plein de paramètres à prendre en compte.Pour infos je suis débutant en programmation (en tout cas c'est normale par rapport avec mon âge) je voudrais savoir combien de ligne de codes à peu près un sudoku prendra avec le C# parce que actuellement mon programme fait plus de 1000 lignes.
Je n'en sais rien, peut-être pas. Si le code est suffisamment propre, il ne doit pas falloir beaucoup de temps (quelques secondes tout au plus) pour trouver à partir de combien de cases tu as besoin de faire un choix.Envoyé par Djug
Pour la vérification du nombre de solution qui existe pour une grille après avoir vidé un certain nombre de ses cases je cherche des exemples d'algorithme possible pour résoudre se problème afin d'avoir quelques idées pour optimisée mon résonnement qui nécessite une grande quantité de codes.
Merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager