3 votes

Placer des mots dans une grille de table dans une grille de recherche de mots?

Je essaie de créer une grille de mots croisés générée par script. Les mots doivent être placés horizontalement, verticalement ou en diagonale. Je pourrais avoir besoin de l'option de définir s'ils sont autorisés à être lus uniquement vers l'avant ou vers l'arrière. J'ai un tableau de mots tels que (pomme, banane, raisin, citron, poire) qui doivent être placés dans le tableau. J'ai déjà créé le tableau mais je suis bloqué sur comment placer les mots dans la grille.

Je cherche des exemples avec quelques explications.

Veuillez voir mon code ci-dessous:

var wordsList =[
"pomme", 
"banane", 
"raisin", 
"citron", 
"poire" ];  

var cells = 10; // Nombre de cellules horizontalement et verticalement dans la grille du tableau
var cellSize = 15; // en pixels
var cellSpace = 2; // espacement en pixels des cellules

function createPuzzleTable(cells) {

    var totalNumRows = "";
    var totalNumColumns = "";

    //création des lignes
    for (r=1;r<=cells;r++){
        //création des cellules
        var oneCell = "";
        totalNumRows += oneCell;
    }

    //création des colonnes
    for (c=1;c<=cells;c++){ 
        totalNumColumns += "" + totalNumRows + "";
    }       
var puzzleTableContent = ""+ totalNumColumns +"";

$("#wPuzzle").append(puzzleTableContent);

}

createPuzzleTable(cells);

1voto

Diodeus Points 67946

Tout d'abord, vous devez établir une méthode facile pour localiser des éléments dans votre grille. Utilisez des noms de classe :

Où "r_" représente les lignes et "c_" les colonnes.

Ensuite, choisissez aléatoirement une direction et un emplacement (ligne, colonne). Vérifiez si le mot s'insère et si la case n'est pas déjà occupée, sinon choisissez à nouveau.

Ensuite, placez les lettres dans la grille en utilisant le système de coordonnées r_ c_.

Répétez.

Remplissez les cellules non occupées avec des données de remplissage pseudo-aléatoires.

1voto

Ryan Fernandes Points 3938

Il existe déjà un widget jQuery qui fait cela: http://code.google.com/p/jquery-wordsearch-game/

Jetez un œil à ce code. Il utilise le Pattern de Stratégie pour placer des mots sur la grille dans les directions avant, arrière, haut, bas et diagonale. Plus précisément, regardez à partir de la ligne 547.

Puisque l'apprentissage est votre point fort, vous pourriez trouver cela amusant.. et probablement trouver une meilleure façon de le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X