在单词搜索拼图中将单词放在表格中?

时间:2011-11-21 17:29:57

标签: jquery search puzzle words

我正在尝试创建一个由脚本生成的单词搜索拼图。单词应水平,垂直或对角放置。我可能需要选项来设置是允许它们只向前还是向后阅读。 我有一系列的单词,如(苹果,香蕉,葡萄,柠檬,梨),需要放在桌子上。我已经创建了表格,但我仍然坚持如何将单词放在网格中。

我正在寻找一些解释的例子。

请参阅下面的代码:

var wordsList =[
"apple", 
"banana", 
"grape", 
"lemon", 
"pear" ];  

var cells = 10; // Numbers of cells horizontally and vertically in table grid
var cellSize = 15; // in pixels
var cellSpace = 2; // cell spacing in pixels

function createPuzzleTable(cells) {

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

    //creating rows
    for (r=1;r<=cells;r++){
        //creating cells
        var oneCell = "<td width='" + cellSize + "' height='"+ cellSize + "'><input name='charField' type='text' /></td>";
        totalNumRows += oneCell;
    }

    //creating columns
    for (c=1;c<=cells;c++){ 
        totalNumColumns += "<tr>" + totalNumRows + "</tr>";
    }       
    var puzzleTableContent = "<div id='puzzleCont'><table id='puzzleTable' border='0' cellspacing='" + cellSpace +"' cellpadding='0'>"+ totalNumColumns +"</table></div>";

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

}

createPuzzleTable(cells);

2 个答案:

答案 0 :(得分:1)

首先,您需要建立一种简单的方法来定位网格中的项目。使用类名:

<input name='charField' class="r_2 c_3" type='text' />

其中“r_”表示行和“c_”列。

然后随机选择方向和位置(行,列)。看看这个单词是否合适,方块是否已被占用,否则再次选择。

然后使用r_ c_坐标系将字母拖放到网格中。

重复。

使用伪随机填充数据填充未占用的单元格。

答案 1 :(得分:1)

已经有一个jquery小部件可以执行此操作:http://code.google.com/p/jquery-wordsearch-game/

看看this code。它使用策略模式在向前,向后,向上,向下和两个对角线方向上的网格上放置单词。具体来说,从第547行开始。

由于学习是你的优点,你可能会发现它很有趣......并且可能会提出一种更好的方法。