Caractere aléatoire
Bonjour,
tout ce que tu demandes est possible mais nécessite des adaptations (pour certaines importantes) de la macro.
En faisant des essais j'ai eu l'impression que plus il y a de mots à trouver, moins ceux-ci se croisent dans la grille et je voudrais pouvoir vérifier cela rapidement pour chaque grille avant de la valider. Car sinon je dois trouver manuellement les 100 mots pour chaque grille et cela n'est jouable en terme de temps...
je n'ai jamais testé la macro sur de grandes grilles, mais je pense que ton impression est exacte.
Bonjour h2so4,
Merci pour ton retour. Après avoir lu que certaines de mes demandes nécessitaient des adaptations importantes de la macro, je les ai revues une par une et en suis venue aux conclusions suivantes :
"- Est-il possible de déterminer à l'avance le nombre de mots que l'on souhaite intégrer à la grille car actuellement cela semble être aléatoire. Pour info je suis en train de me constituer une liste de plusieurs dizaines de milliers de mots." Pour cela je peux me débrouiller en supprimant moi-même les mots en trop dans la grille.
"- Je souhaite réaliser 100 grilles de 100 mots à trouver. Si je crée ces 100 grilles lors d'une même session, est-il possible d'empêcher la macro de sélectionner plusieurs fois le même mot dans ma liste afin de proposer 10.000 mots différents à trouver dans l'ensemble de ces 100 grilles ?" Pour cela je peux m'en charger également en supprimant au fur et à mesure de ma liste de mots, les mots déjà utilisés.
"- Une fois la grille réalisée par la macro, serait-il possible de voir les mots en surbrillance ou bien barrés ?" Pour cela, en revanche, si ta macro pouvait le faire ce serait top !
Du coup, au final, je n'aurais besoin que des mots en surbrillance ou barrés, penses-tu que ce soit jouable ?
Merci beaucoup.
Val
Edit : pour info, je n'ai pas besoin d'avoir un mot caché à découvrir à la fin avec les lettres restantes... je le précise au cas où cela faciliterait le placement des mots dans la grille et notamment le fait qu'ils s'entrecroisent plus...
Bonjour,
et notamment le fait qu'ils s'entrecroisent plus...
C'est ce souhait qui demande le plus de changement (revoir tout l'algorithme de génération de la grille, aujourd'hui cela se fait au hasard) et sur une grille de 35*45 placer 100 mots (longueur moyenne 10 caractères, le taux de remplissage sera faible (+/-60%) et la probabilité d'avoir par hasard des mots qui se croisent aussi, car l'algorithme tire au hasard un emplacement, un sens de lecture et une orientation et s'il parvient à mettre le mot, il passe au suivant ...)
donc pour augmenter la probabilité de mots qui se croisent, il faudra un plus fort taux de remplissage-> diminuer la tailler de la grille ou augmenter le nombre de mots à placer.
L'algorithme actuel essaie de remplir au maximum la grille (ou d'atteindre le taux de remplissage minimum souhaité). Ce qui donne un nombre variable de mots placés dans la grille.
Je peux travailler à une version sur base du nombre de mots, indiquer où se trouvent les mots et remplacer les mots cachés par des caractères "aléatoires" mais ce ne sera pas pour tout de suite. Ensuite travailler à une version qui génère x grilles en utilisant des mots différents.
Je comprends...
Pour info, j'ai fait des tests avec un fort taux de remplissage et un grand nombre de mots mais ils ne se croisaient pas plus, en fait ils se mettent les uns à côté des autres ou les uns en dessous des autres...
Je peux travailler à une version sur base du nombre de mots, indiquer où se trouvent les mots et remplacer les mots cachés par des caractères "aléatoires"
Je pense qu'avec une version comme celle-ci, comme je verrai où se trouve les mots, je pourrai ensuite me débrouiller pour effacer certains mots dans la grille puis les replacer manuellement afin qu'ils s'entrecroisent avec d'autres...
Souhaites-tu que je t'envoie ma liste de 70.000 mots, cela peut-il t'aider ?
Merci encore pour tout.
Bonne soirée.
Val
Bonjour h2so4,
J'espere que tu vas bien !
Voici une idée soufflée par eriiic : compter les intersections de mots, 3 intersections supplémentaires rapportent plus de points qu'un mot en plus par exemple (on établit une notation de la grille et on retient celle qui a le plus de points).
J'ai également pensé à autre chose : actuellement je crée mes grilles manuellement ainsi je peux faire se croiser les mots et cela est assez rapide et aisé jusqu'aux 50 à 60 premiers mots. Ce sont les mots restants qui me prennent le plus de temps à placer. Du coup, je me disais qu'une solution hybride pourrait peut-être fonctionner, à savoir : je commence mes grilles en y plaçant au minimum la moitié des mots puis le programme se charge de placer le reste des mots de ma liste. Dans l'idéal il les place en essayant de les faire se croiser mais s'il n'y arrive pas, au moins je sais que plusieurs se croisent déjà dans la grille, en l'occurence, ceux que j'ai placés manuellement.
Bon week-end.
Val
Bonjour,
je vais continuer sur ce sujet, ton fichier avec 70000 mots m'intéresse.
Bonjour,
voici une première ébauche qui doit sans doute être améliorée (rapidité et nombre de croisements).
j'ai ajouté :
une seule liste de mots
nombre de grilles à générer
mots utilisés une seule fois dans toutes les grilles pour un même cycle de génération de grilles
trouver position d'un mot dans une grille générée (cliquer sur le mot qui se trouve dans la liste des mots d'une grille)