Solutionneur de mots cachés

Par Karine Rocheleau

Pour mon projet, j’ai choisi de programmer en C# un solutionnaire de mots cachés en parallèle. Mon programme permet de choisir les dimensions de la grille afin de
pouvoir solutionner des mots cachés de toutes tailles. Une fois la dimension entrée, on clique sur le bouton Redimensionner afin de changer la taille de la grille. On peut alors
entrer chacune des lettres une à une dans la grille. On doit également entrer la liste des mots à rechercher et on peut spécifier si on veut voir la solution de ce mot ou non à l’aide
de la case à cocher. Si on ne veut pas avoir à réinscrire le mot caché ultérieurement, le programme offre la possibilité de l’enregistrer. On peut également ouvrir une grille
préalablement enregistrée. Pour chercher les mots dans la grille, il suffit de cliquer sur le bouton Solutionner.

Le parallélisme se situe au niveau de la recherche de la solution du mot caché. On initialise d’abord une liste de liste de lettre. Chaque élément de la liste correspond aux lettres d’une ligne, d’une colonne ou d’une diagonale de la grille. Par la suite, on initialise démarre un nombre de thread prédéterminé (il est possible de changer ce nombre en changeant la valeur de la constante NBR_THREAD au début de la classe Solutionnaire). Chaque thread reçoit en paramètre l’élément de la liste auquel on est rendu. Une fois qu’un thread a terminé, on le relance en lui donnant le prochain élément de la liste et ainsi de suite jusqu’à avoir parcouru toute la liste.