Grille pour mots croisés

Fermé
vurten Messages postés 6 Date d'inscription samedi 17 mars 2018 Statut Membre Dernière intervention 17 mars 2018 - Modifié le 17 mars 2018 à 10:28
vurten Messages postés 6 Date d'inscription samedi 17 mars 2018 Statut Membre Dernière intervention 17 mars 2018 - 17 mars 2018 à 18:01
Bonjour,

Je cherche a faire une grille de mots croisés sur java qui fonctionne sur n x n dont n <= 4 et n >=12.

et que sa ajoute des numéros de colonnes et et de lignes. J ai juste un texte.

VMRUOFERRACI
IBEAUENPHARE
OLFRRNGULEOT
LALBATROSGUT
OSEIGRELLAPE
NSCTAENAILIL
CUHRNVATULEE
ERIALUGNAIRT
LARGOEEAEUNT
LNNELFECSGAU
ECOUPLETUIIO
REEERIAMMARG

ça doit s'ouvrir comme ça plus ou moins :

       1   2   3   4   5   6   7   8 
   -----------------------------------------
1  | V | A | E | N | E | C | B | T | 
   -----------------------------------------
2  | A | R | N | I | M | N | A | N | 
   -----------------------------------------
3  | U | E | T | A | M | O | T | E | 
   -----------------------------------------
4  | O | N | I | P | E | L | A | C | 
   -----------------------------------------
5  | B | I | E | N | F | A | I | T | 
   ------------------------------------------
6  | M | D | R | A | C | A | L | P | 
   ----------------------------------------
7  | A | C | E | E | V | I | L | O | 
   ----------------------------------------
8  | B | R | A | C | E | L | E | T | 
   ----------------------------------------

j ' ai juste réussi a faire ça avec une boucle for :

if ( jeu.length() == 255){

            String trouve4 = jeu.substring(0,73);
            String trouve5 = jeu.substring(74 , 245);
            String trouve6 = jeu.substring(246 , 255);

            for ( int i = 1 ; i < trouve4.length() ; i++){

                System.out.print (" | " +trouve4.charAt(i));

            }

ça fonctionne mais cela j ai pas arriver a ajouter les chiffres puis les
------
.

les mots ici sont juste a titre d exemple mais ca doit marche sur n>=4 et n <=12

On a le droit juste d utiliser la classe String et Math et System et scanner.

on doit pas utiliser les tableaux etc...

Merci bcp

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
17 mars 2018 à 10:35
Bonjour,

Je ne comprends pas dans ton code d'où viennent les valeurs 73, 74, 245, 246 et 255.
Ce sont des nombres magiques, ça marche peut-être pour ton exemple, mais je doute que dans le cas général (n>=4 et n <=12) ça fonctionne.

Remarque : à quoi ressemble ton texte de départ ? C'est un String ? Comment sont représentés les fins de lignes ?

Une idée : si tu as un texte de taille n*n, il faut utiliser la racine carré (dans la classe Math) pour calculer n.
Une fois que tu as n, tu peux afficher les chiffres avec une boucle for de 1 à n.
0
vurten Messages postés 6 Date d'inscription samedi 17 mars 2018 Statut Membre Dernière intervention 17 mars 2018
Modifié le 17 mars 2018 à 16:45
Bonjour,


mon texte est un string effectivement mais qui termine avec #.

VMRUOFERRACI
IBEAUENPHARE
OLFRRNGULEOT
LALBATROSGUT
OSEIGRELLAPE
NSCTAENAILIL
CUHRNVATULEE
ERIALUGNAIRT
LARGOEEAEUNT
LNNELFECSGAU
ECOUPLETUIIO
REEERIAMMARG
#


j'ai oublie de copier la bonne chose mais après les mots il y a un '#'

j'ai juste pris la position du # pour travailler dessus.

Alors le string que je veux mettre dans le tableau sera tout ce qui est écrit avant le #.

puis les sauts de lignes, ils sont représentés par \n.


for ( int i = 1 ; i < jeu.indexOf('#') ; i++){

System.out.print (" | " +jeu.charAt(i));

}


merci
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > vurten Messages postés 6 Date d'inscription samedi 17 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 17:53
Tu as essayé avec la racine carré comme je l'ai indiqué tout à l'heure ?

Exemple :
"ABCD\nEFGH\nIJKL\nMNOP\n#"

Taille du String : 20, racine carré : 4, donc c'est un carré de 4 lignes et 4 colonnes.

for (int i = 1 ; i <= n; i++)
    System.out.print("   " + i); //   1   2   3   4
0
vurten Messages postés 6 Date d'inscription samedi 17 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 18:01
j ' essaie de l'incorporer mais jusqu’à date j' arrive pas a trouver la bonne place ou la mettre... pck sa désorganise tt mon tableau.... y a des chiffres un peu part... le problème ce n'est pas le haut du tableau mais a gauche... j ai essaye avec " i"
"\ni"
0