我正在尝试创建一个由脚本生成的单词搜索拼图。单词应水平,垂直或对角放置。我可能需要选项来设置是允许它们只向前还是向后阅读。 我有一系列的单词,如(苹果,香蕉,葡萄,柠檬,梨),需要放在桌子上。我已经创建了表格,但我仍然坚持如何将单词放在网格中。
我正在寻找一些解释的例子。
请参阅下面的代码:
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);
答案 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行开始。
由于学习是你的优点,你可能会发现它很有趣......并且可能会提出一种更好的方法。