IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Génération d'une grille de sudoku


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut Génération d'une grille de sudoku
    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.

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    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)

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut
    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 ?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Amiraamir Voir le message
    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
    Le jeu aura forcement une solution : il suffit de remettre le nombre que tu viens de retirer.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Expert confirmé

    Avatar de Djug
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    2 980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 980
    Par défaut
    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

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Djug Voir le message
    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.

  7. #7
    Membre averti
    Inscrit en
    Août 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : Août 2008
    Messages : 17
    Par défaut
    Premièrement merci pour toutes vos réponses puis :

    Citation Envoyé par pseudocode Voir le message
    Le jeu aura forcement une solution : il suffit de remettre le nombre que tu viens de retirer.
    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.

  8. #8
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    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.

Discussions similaires

  1. génération d'une grille de sudoku
    Par gnouz dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 25/09/2008, 15h44
  2. afficher une grille de sudoku Swing
    Par herbert8 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/10/2007, 00h42
  3. Comment résoudre une grille de Sudoku ?
    Par tarik_12 dans le forum Pascal
    Réponses: 1
    Dernier message: 25/04/2007, 20h31
  4. [VB6]Afficher une grille de Sudoku
    Par epaminondas dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/03/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo