Javascript 语句为false时函数仍在工作
我是初学者。我正在编写一个简单的文本冒险游戏。我希望option.onclick仅在scenario==0时工作。它应该为玩家提供基本装备。但即使场景变量大于0,它也能工作,并且在点击另一个选项后,它会给玩家更多的装备。为什么?在谷歌chrome控制台上,它说它大于0,所以我真的不知道现在发生了什么Javascript 语句为false时函数仍在工作,javascript,Javascript,我是初学者。我正在编写一个简单的文本冒险游戏。我希望option.onclick仅在scenario==0时工作。它应该为玩家提供基本装备。但即使场景变量大于0,它也能工作,并且在点击另一个选项后,它会给玩家更多的装备。为什么?在谷歌chrome控制台上,它说它大于0,所以我真的不知道现在发生了什么 let字符={ 惠普:100, 设备:“ } var情景=0; let story=document.getElementById(“story”); 让option1=document.getE
let字符={
惠普:100,
设备:“
}
var情景=0;
let story=document.getElementById(“story”);
让option1=document.getElementById(“option1”);
让option2=document.getElementById(“option2”);
让option3=document.getElementById(“option3”);
让stats=document.getElementById(“stats”);
stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device;
story.innerHTML=“你的名字是三口广桥。你是雇佣兵。游戏的目标是杀死大名最强大和最富有的石山。你现在正准备攻击他的城堡。你要带什么?”;
option1.innerHTML=“带上卡塔纳和舒里肯”;
option2.innerHTML=“携带枪支和火药”;
option3.innerHTML=“带上弓箭”;
函数游戏(){
如果(场景==0){
option1.onclick=function(){
情景++;
character.equipment+='[Katana]';
character.equipment+='[Shurikens]';
}
option2.onclick=函数(){
情景++;
字符.设备+='[枪]';
字符.设备+=“[火药]”;
}
option3.onclick=函数(){
情景++;
字符.装备+='[弓]';
character.device+=“[箭头]”;
}
}
如果(场景==1)
{
stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device;
story.innerHTML=“几分钟后,你创建了一家酒馆。不幸的是,你没有钱,所以买不起房间。你决定……”;
option1.innerHTML=“sdfasfsafsadas”;
option2.innerHTML=“sdafsafsa”;
option3.innerHTML=“sadfsafdsap”;
}
如果(场景==2)
{
stats.innerHTML=“HP:”+character.HP+“%”+”
“+”设备:“+character.device;
story.innerHTML=“hgdgdfhdf”;
option1.innerHTML=“xcvbcxbcxbcxvbcx”;
option2.innerHTML=“ewrawafsadgas”;
option3.innerHTML=“nbcxnxbds”;
}
window.requestAnimationFrame(游戏);
}
window.requestAnimationFrame(游戏)代码>
正文
{
保证金:0;
填充:0;
字体系列:“Raleway”,无衬线;
颜色:白色;
线高:150%;
}
#容器
{
高度:300px;
宽度:400px;
保证金:0自动;
边缘顶部:150px;
背景色:#000000;
文本对齐:居中;
}
#统计数据
{
文本对齐:左对齐;
填充:10px;
}
#故事
{
填充:15px;
文本对齐:左对齐;
}
按钮
{
填充:6px;
光标:指针;
边缘顶端:40px;
保证金:3倍;
文本对齐:居中;
}
扭曲的月亮
当“场景”计数器更改时,“单击”处理程序函数不会自行消失。它们仍然有效。如何使它只工作一次?将if(scenario==0)放在每个onclick函数中,因为事件处理程序是直接从if外部调用的。