我正在制作一款也会有统计数据的小游戏。赢得时间和类似的东西。所以我做了这个HTML
<div id="stats">
<h2>Stats</h2>
<p>Win ratio: </p> <!-- Ignore this one -->
<p><span id="wincount"></span> wins / <span id="lostcount"></span> losses</p>
</div>
这是Javascript代码。我有点做空,所以你只能看到重要的事情:
var wontimes = 0;
var losstime = 0;
function getResult(){
var tie = "It's a tie!";
var won = "You have won!";
var lost = "You lost!";
switch(user){
case 1: // rock
switch(npc){
case 1: // rock
result = tie;
break;
case 2: // paper
result = lost;
break;
}
break;
case 2: // paper
switch(npc){
case 1: // rock
result = won;
break;
case 2: // paper
result = tie;
break;
}
break;
}
document.getElementById("gameresult").innerHTML = result;
if (result === won){
return wontimes = wontimes++;
} else if (result === lost){
return losstime = losstime++;
} else {
console.log("Tie");
}
document.getElementById("wincount").innerHTML = wontimes;
document.getElementById("lostcount").innerHTML = losstime;
}
函数getResult在用户单击按钮时调用,但它有效,但是存在问题。点击它之后。它告诉我,如果我赢了等等,但它不算赢。我想让每次用户获胜,赢得一次加上然后它被打印在<span id="wincount"></span>
,它甚至没有显示默认的0胜。
有人能帮助我吗?谢谢。
答案 0 :(得分:6)
如果从函数返回,则忽略后面的行。
更改
return wontimes = wontimes++;
到
wontimes++;
(和losstime
相同)
另请注意,wontimes++
足以增加变量。如果你执行wontimes = wontimes++
,则会向wontimes
提供增量前的值,这会使整体变得毫无用处。