如何从html表中制作游戏?

时间:2013-02-14 07:27:08

标签: javascript html html-table

我基本上是想制作一个涉及网格的游戏。这是我到目前为止所做的事情(在我解释我需要发生的事情之前看看游戏会有所帮助):

Javascript(请参阅jsfiddle for html):

var score = 0;
var points = function(val, box) {
    var noise = Math.round(Math.round(0.1*val*Math.random()*2) - 0.1*val);
    score = score + (val + noise);
    var square = document.getElementById(box);
    square.innerHTML = val + noise;
    square.style.display='block';
    setTimeout(function() {
       square.style.display='none'; 
    }, 400);
    document.getElementById("out").innerHTML = score;
}

http://jsfiddle.net/stefvhuynh/aTQW5/1/

网格左下角的四个红色方块需要成为游戏的起点。当您单击其中一个框时,您可以通过单击相邻框来沿网格移动。基本上,我需要做到这一点,以便玩家只能从他们刚刚点击的盒子上,上,下,左和右移动。当玩家点击他们不应该点击的框时,我不希望调用点功能。

此外,我需要制作它,以便玩家在400毫秒之前不能点击另一个盒子。

我对编程比较陌生,所以任何帮助都会很棒。如果有办法,我也会欣赏如何提高程序效率的技巧。

1 个答案:

答案 0 :(得分:0)

总体思路:

我建议您为所有方框设置类似的ID,例如box_x_y,并存储字符串列表,例如allowedSquares

然后你就可以编写一个函数,在点击一个方框时,会检查它的id是否在allowedSquares中,如果是,则调用points(val, box)然后更新{的内容{1}}反映位置的变化。

对所有框使用标准id约定的关键是你可以编写allowedSquaresgetPosition(box)来解析id字符串以返回框位置,反之亦然。< / p>

您甚至可以让getBox(intX, intY)功能更改相邻框的颜色,以显示接下来的步骤。

编辑:一些示例代码:

免责声明:这些不是您正在寻找的代码行。

这只是一个适合您的启动套件,它采用3x3网格,右下角为单方形。您将不得不调整此代码。此外,我预测出境时会出现问题。我会让你想一想,因为我更喜欢在这些情况下为完整的解决方案提供食物......

updateAllowedSquares(clickedBox)