-1

最终我用一张桌子制作了一个滑块拼图,但目前我正在生成一个新的拼图并打乱瓷砖,但我的代码中的某些东西似乎使这项工作不正确。(并非所有表格单元格都已填充,等等。)知道是什么原因造成的吗?

在我正在编写的程序中,我正在使用 body onload 来构建拼图,但由于某种原因在 Fiddle 中不起作用:

</head>
<body onload="newPuzzle(_r, _c)">
</body>

小提琴示例

4

1 回答 1

0

尝试改变

//declare and populate array
 var _array = new Array();

 for (var i = 0; i <= r*c; i++)
 {
   _array[i] = i;
 }

//declare and populate array
 var _array = new Array();

 for (var i = 1; i < r*c; i++)
 {
   _array[i] = i;
 }
   _array[0] = "";

并改变这个:

var rand = Math.floor(Math.random() * _array.length) + i;

对此:

var rand = Math.floor(Math.random() * _array.length);

请注意,当您使用新数组进行混洗时,第一个配置(0到8)中没有点,这样您可以删除两个FORs 并在生成它时设置一个固定值(在混洗之前)。像这样:

gridTable[0].rows[i].cells[j].innerHTML = "0";
于 2015-10-06T03:42:19.960 回答