【发布时间】:2020-08-15 14:52:20
【问题描述】:
我想使用 Javascript、DOM、HTML 和 CSS 构建游戏。我的逻辑如下:
第 1 步:单击三个按钮执行三个不同的功能,名为 random1、random2 和 random3。每个函数将生成两个随机数。 (假设 1 和 2)。
Step2:使用if/else-if条件检查这些函数的结果。
Step3:如果所有按钮的返回值都等于1,则提示(“玩家1获胜”)。 同样,如果值为 2,则会提示“玩家 2 获胜”。
Step4:如果值不相等,程序会要求刷新浏览器。
但问题是,当我在浏览器中运行此代码时,只有 else 语句起作用,而 if/else-if 不起作用。另一个问题:在单击“按钮三”时,在 p/> 标签中显示随机数之前,else 语句起作用。
//My Code//
var a;
function random1(){
a = Math.floor(Math.random()*2+1);
document.getElementById("para1").innerHTML = a;
return a;
}
let p1 = document.getElementById("myBtn1");
p1.addEventListener("click", random1);
var b
function random2(){
b = Math.floor(Math.random()*2+1);
document.getElementById("para2").innerHTML = b;
return b;
}
let t2 = document.getElementById("myBtn2")
t2.addEventListener("click",random2);
var c
function random3(){
c=Math.floor(Math.random()*2+1);
document.getElementById("para3").innerHTML = c;
return c;
}
let r3 = document.getElementById("myBtn3");
r3.addEventListener("click",check(a,b,c));
r3.addEventListener("click",random3);
function check(s,t,u){
if(s===1 && t===1 && u===1){
alert("Players 1 Wins");
}
else if(s===2 && t===2 && u===2){
alert("Player 2 Wins");
}
else{
alert("Refresh the Browser");
}
}
【问题讨论】:
-
也许您应该考虑使用
if (s==='1'...)而不是if (s===1...)。试试看,让我们知道 -
@assembler 我怀疑这是问题所在,因为这些变量是数字。
标签: javascript if-statement dom