Problème d'affichage avec un générateur de Sudoku en JAVA
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Problème d'affichage avec un générateur de Sudoku en JAVA



  1. #1
    SarahLep

    Problème d'affichage avec un générateur de Sudoku en JAVA


    ------

    Bonjour,

    J'essaye de faire un générateur de Sudoku en JAVA. Lorsque j'inscris des nombres dans la grille, ces derniers ne s'affichent pas. Voici la partie de mon code avec laquelle il semble y avoir un problème. Est-ce que quelqu'un pourrait m'aider? Si vous avez besoin du reste du code n'hésitez pas à me le demander.

    Merci à l'avance.

    Code:
    /**
    	 * Verifie si le nombre a ajouter existe deja dans la ligne
    	 * 
    	 * @param grille Grille contenant les nombre inscrits dans le Sudoku
    	 * @param ligne  Numero de ligne que l'on doit verifier
    	 * @param valeur Valeur que l'on veut ajouter
    	 * @return true si la valeur existe dans la ligne, false sinon
    	 */
    	public static boolean estDansLigne(int[][] grille, int ligne, int valeur) {
    		boolean trouve = false;
    		// TODO: Verifier si le nombre a ajouter existe deja dans la ligne
    		// TODO: Tests unitaires
    		for (int i = 0; i < grille.length; i++) {
    			if (grille[ligne][i] == valeur) {
    				trouve = true;
    				break;
    			} else {
    				trouve = false;
    			}
    		}
    		return trouve;
    	}
    
    	/**
    	 * Verifie si le nombre a ajouter existe deja dans la colonne
    	 * 
    	 * @param grille  Grille contenant les nombre inscrits dans le Sudoku
    	 * @param colonne Numero de colonne que l'on doit verifier
    	 * @param valeur  Valeur que l'on veut ajouter
    	 * @return true si la valeur existe dans la colonne, false sinon
    	 */
    	public static boolean estDansColonne(int[][] grille, int colonne, int valeur) {
    		boolean trouve = false;
    		// TODO: Verifier si le nombre a ajouter existe deja dans la colonne
    		// TODO: Tests unitaires
    		for (int i = 0; i < grille[0].length; i++) {
    			if (grille[i][colonne] == valeur) {
    				trouve = true;
    				break;
    			} else {
    				trouve = false;
    			}
    		}
    		return trouve;
    	}
    
    	/**
    	 * Verifie se le nombre se retrouve dans un secteur de n*n de la grille NOTE: La
    	 * position recue ne correspond pas necessairement a un coin du secteur
    	 * 
    	 * @param grille  Grille contenant les nombre inscrits dans le Sudoku
    	 * @param ligne   Ligne sur laquelle on veut ajouter le nombre
    	 * @param colonne Colonne dans laquelle on veut ajouter le nombre
    	 * @param valeur  Valeur que l'on veut ajouter
    	 * @return true si la valeur existe dans le secteur, false sinon
    	 */
    
    	public static boolean estDansSecteur(int[][] grille, int ligne, int colonne, int valeur) {
    		boolean trouve = false;
    		// TODO: Verifier si le nombre existe deja dans le secteur
    		// Suggestion, Identifier un coin du secteur avant de faire les boucles
    		// pour la recherche
    		// TODO: Tests unitaires
    		    for (int i = 0, n = grille.length; i < n; i++) {
    		        if (grille[ligne][i] == valeur || grille[i][colonne] == valeur) {
    		            trouve = true;  // a value already exists in the field
    		            break;
    		        } else {
    		        	trouve = false;
    		        }
    		    }
    		    // the value is not found in the given line and column
    		    return trouve;
    		}
    
    	/**
    	 * Permet de rendre permanent les valeurs affectees jusqu'a present dans la
    	 * grille Pour ce faire, cette fonction met a true les cases correspondantes
    	 * dans grilleInfo[FIX_IDX]
    	 * 
    	 * @param grille     Grille contenant les nombre inscrits dans le Sudoku
    	 * @param grilleInfo Informations concernant la case correspondante de la grille
    	 */
    	public static void fixeNumero(int[][] grille, boolean[][][] grilleInfo, int valeur) {
    		// TODO: Inscrire true dans grilleInfo[FIX_IDX] pour chaque case qui
    		// contient un nombre.
    		// TODO: Tests unitaires
    		for (int i = 0; i < grille.length; i++) {
    			for (int j = 0; j < grille[i].length; j++) {
    				if (grille[i][j] == valeur) {
    					grilleInfo[FIX_IDX][i][j] = true;
    				} else {
    					grilleInfo[FIX_IDX][i][j] = false;
    				}
    			}
    		}
    	}
    
    	/**
    	 * Permet de mettre a false toutes les cases d grilleInfo[index] afin de
    	 * desactiver les selections ou les nombres fixes
    	 * 
    	 * @param grilleInfo Informations concernant la case correspondante de la grille
    	 * @param index      Index de la grille a nettoyer dans grilleInfo
    	 */
    	public static void nettoieGrille(boolean[][][] grilleInfo, int index, int valeur, int[][] grille) {
    		// TODO: Desactiver toutes les cases (false) dans grilleInfo[index]
    		// TODO: Tests unitaires
    		for (int i = 0; i < grille.length; i++) {
    			for (int j = 0; j < grille[0].length; j++) {
    				if (grille[i][j] == valeur) {
    					grilleInfo[index][i][j] = false;
    				}
    			}
    		}
    	}
    }

    -----

  2. #2
    umfred

    Re : Problème d'affichage avec un générateur de Sudoku en JAVA

    là, tu nous montres des fonctions; le problème serait plutôt dans la partie qui appellent tes fonctions, le déroulement du jeu

Discussions similaires

  1. Probleme affichage applet java
    Par invite0f4fb022 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 11
    Dernier message: 06/01/2010, 17h39
  2. [JAVA] Problème avec JRE
    Par invitee3365b66 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/06/2007, 12h44
  3. problème avec java
    Par invite0cbe5157 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/02/2007, 00h52
  4. Vous connaissez le Sudoku? A la recherche de l'algorythme du Sudoku!!!
    Par invite95786954 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 02/01/2006, 08h57