【发布时间】:2018-04-09 21:37:07
【问题描述】:
所以我正在制作一个游戏,通过在 HTML5 画布上单击它们来打开盒子并尝试匹配盒子内的数字(长话短说,获得匹配 = 胜利,即第一个盒子可能是 5,如果第二个盒子也是5,我赢了)。
当一个框被点击时,会在一定范围内产生一个随机数。我需要的是一种比较生成的数字的方法,以检查玩家是否赢了,或者他们是否需要继续打开盒子。
这些盒子是这样工作的:
var rect = {
x: 30,
y: 150,
width: 100,
height: 100
};
function getMousePos(canvas, event) {
var rect = canvas.getBoundingClientRect();
return {
x: event.clientX - rect.left,
y: event.clientY - rect.top
};
}
我曾想过存储随机生成的数字,如下所示:
var firstChoice = Math.floor(Math.random() * (10 - 5 + 1) + 10);
var secondChoice = Math.floor(Math.random() * (10 - 5 + 1) + 10);
但我不知道如何让程序识别何时需要为下一个框而不是 firstChoice 运行 secondChoice、thirdChoice、fourthChoice 等。
有什么建议吗?
【问题讨论】:
-
当你有一个变量列表时,是时候使用数组来存储了。
-
不清楚你在问什么。如果每个框对应一个变量,那么每次点击后,可以比较两个变量,检查是否相等。您需要添加更多代码/详细信息
-
@smythdev 如果您只是询问如何保留值的存储,则可以使用 sessionStorage 在客户端上的浏览器会话期间保留值。但不清楚你在问什么
-
@AdamMcGurk 嗨,我要问的是如何让程序识别何时使用其他变量。即第一个盒子打开将是 firstChoice,第二个盒子打开将是 secondChoice,等等。
-
@smythdev 你能给我一个例子来说明这些“盒子”在代码中的样子吗?这将有很大帮助
标签: javascript html canvas random html5-canvas