Algorithme mots croisés

Fermé
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 - 16 juin 2011 à 12:35
choubaka Messages postés 39398 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 juin 2024 - 17 juin 2011 à 07:42
Bonjour,

je suis un étudiant en informatique et j'ai comme projet en java la réalisation d'un générateur de mots croisés. mon problème est au niveau de l'algorithme, le choix des mots adéquats pour remplir la grille, je suis a court d'idées!!
Merci d'avance pour votre aide.

5 réponses

KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
16 juin 2011 à 16:32
Pour l'algo tu peux regarder De la construction de grilles de mots croisés parfaites

Mais tu vas devoir faire un certain nombre de calculs sur tes mots avant de trouver lesquels permettent de faire une grille de mots croisés, et utiliser des jtexfield semble assez coûteux en temps d'accès... Donc pour l'affichage ok, mais il y a une étape importante avant d'afficher, c'est le calcul, et la représentation des données joue un rôle primordial dans l'efficacité de l'algorithme !

De même pour le dictionnaire, au départ tu as un fichier, mais tu vas bien devoir les mettre en mémoire pour les manipuler, ne serait-ce que pour les "trier" par taille, ou par valeur (score obtenu à une place donnée) et tout traiter sur le fichier va extremement ralentir ton programme, de même que traiter la grille sur les jtextfields....

Tu dois donc réfléchir à la représentation de ton problème en mémoire avant de commencer
2
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 1
16 juin 2011 à 21:45
avant tout merci , oui c'est normale de charger les mots en mémoire pour les traiter mais ce n'ai pas le problème essentiel enfin a mon avis parce que les traitement peuvent varier et cela peut être fais par des requête SQL !! c'est pour cette raison que je cherche a avoir une idée sur l'algorithme avant de ne faire quoique ce soit.
je ne voit pas ou les jtextfield peuvent ralentir le programme pourrais tu m'expliquer comment ou me proposer une solution meilleure.
Merciiiii
0
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 1
16 juin 2011 à 14:52
la grille est représentée par par un jpanel (gridlayout) ou chaque case est un jtextfield !!!
1
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
16 juin 2011 à 15:32
Tu ne vas pas faire tes "calculs" sur tes JTextField si ?
L'affichage c'est... pour afficher !
Et au niveau du dictionnaire tu as quoi comme données ?
0
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 1
16 juin 2011 à 16:09
non le problème n'est pas au niveau de l'affichage mais au niveau de l'algorithme, quel mots choisir pour pouvoir compléter la grille !!!!
j'ai un dictionnaire ou il y a "lemot:sadefinition" .
le problème que j'ai c'est le critère du choix des mots !!
0
choubaka Messages postés 39398 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 juin 2024 2 101
16 juin 2011 à 14:02
Bonjour

Comment compte-tu représenter tes grilles ???

0
choubaka Messages postés 39398 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 juin 2024 2 101
Modifié par choubaka le 16/06/2011 à 20:33
je rejoins KX, avant l'affichage, je pensais au "moteur". L'affichage n'est que le produit fini.



Chouba,
Rhâââgnagna
0
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 1
16 juin 2011 à 21:48
merci :) , que veux tu dire par moteur??
0
choubaka Messages postés 39398 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 28 juin 2024 2 101
17 juin 2011 à 07:42
c'est ce qui se trouve derrière le capot...

non sérieux, c'est toute la partie du programme qui permet d'effectuer les contrôles, les calculs, les accès aux bases de données, etc... avant d'afficher les résultats
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX Messages postés 16746 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 29 juin 2024 3 016
16 juin 2011 à 21:56
N'as tu jamais remarqué que quand tu faisais beaucoup de println ça ralentissait ton programme ? Tout ce qui concerne l'affichage va forcément ralentir ton programme.
Il faut autant que possible rester caché et faire tourner ton processus à fond sur un traitement optimisé, et je ne crois pas que les requêtes SQL soient forcément optimales, plus pratiques peut-être mais ça reste assez lourd à mettre en place, alors qu'avec une bonne Collection on peut faire ce qu'on veut...
C'est ça le "moteur", tout ce qui se cache sous le capot, swing c'est joli mais c'est son seul intérêt...
0
enauoder Messages postés 15 Date d'inscription samedi 2 octobre 2010 Statut Membre Dernière intervention 19 juin 2011 1
16 juin 2011 à 23:45
oui je vois ce que tu veux dire mais dans mon programme les jtextfield c pour l'affichage et non pas pour les traitements!! lors du traitements je ne vais rien afficher. pour te mettre dans le bain je vais te dire comme tout est organisés; j'ai une classe case qui contient le jtextfield et une autre variable pour les traitements et pour la validation de la case au cours de la partie car les jtextfield c'est pour jouer et non pour afficher la grille!
0