Javascript函数if语句
我在javascript上做一个骰子游戏,你打赌结果是奇数还是偶数,当你按下按钮时,骰子会滚动,它会显示结果是奇数还是偶数。我唯一的问题是,当你赌偶数,你得到一个奇数,它不会记录为一个损失,或者如果你赌偶数,得到偶数,它不会记录为一个胜利。总而言之,我不知道为什么它不记录球员的得分。非常感谢您的帮助,代码也在下面Javascript函数if语句,javascript,html,function,event-listener,Javascript,Html,Function,Event Listener,我在javascript上做一个骰子游戏,你打赌结果是奇数还是偶数,当你按下按钮时,骰子会滚动,它会显示结果是奇数还是偶数。我唯一的问题是,当你赌偶数,你得到一个奇数,它不会记录为一个损失,或者如果你赌偶数,得到偶数,它不会记录为一个胜利。总而言之,我不知道为什么它不记录球员的得分。非常感谢您的帮助,代码也在下面 var得分=0; var损失=0; document.getElementById(“偶数”).addEventListener(“单击”,偶数检查); 函数检查(){ var d1
var得分=0;
var损失=0;
document.getElementById(“偶数”).addEventListener(“单击”,偶数检查);
函数检查(){
var d1=数学地板(数学随机()*6)+1;
var d2=数学地板(数学随机()*6)+1;
var d11=parseInt(d1);
var d22=parseInt(d2);
变量d33=parseInt(d11+d22);
die1.innerHTML=“掷骰子1:”+d1;
die2.innerHTML=“掷骰子2:”+d2;
sum.innerHTML=“总和:”+d33;
如果(d33%2==0&&偶数点选){
var得分=得分+1;
wins.innerHTML=“wins:”+分数;
loss.innerHTMl=“损失:”+损失;
}
如果(d33%2==1&&偶数点选){
var损失=损失+1;
wins.innerHTML=“wins:”+分数;
loss.innerHTMl=“损失:”+损失;
}
}
document.getElementById(“Odd”).addEventListener(“单击”,Oddcheck);
函数Oddcheck(){
var d1=数学地板(数学随机()*6)+1;
var d2=数学地板(数学随机()*6)+1;
var d11=parseInt(d1);
var d22=parseInt(d2);
变量d33=parseInt(d11+d22);
die1.innerHTML=“掷骰子1:”+d1;
die2.innerHTML=“掷骰子2:”+d2;
sum.innerHTML=“总和:”+d33;
如果(d33%2==0&&Odd.单击){
var损失=损失+1;
wins.innerHTML=“wins:”+分数;
loss.innerHTMl=“损失:”+损失;
}
如果(d33%2==1&&Odd.单击){
var得分=得分+1;
wins.innerHTML=“wins:”+分数;
loss.innerHTMl=“损失:”+损失;
}
}
简介
偶数
1比0
比分2:0
总数:0
胜利:0
损失:0
即使
古怪的
您的代码中有几个错误-
<h1><img src="dice.png" alt="dice" width="50" height="50">
EVEN ODDS<img src="dice.png" alt="dice" width="50" height="50"> <h1><img src="dice.png" alt="dice" width="50" height="50">
EVEN ODDS<img src="dice.png" alt="dice" width="50" height="50"> </h1>
<div id="die1" class="dice"> Dice1 :0</div>
<div id="die2" class="dice"> Dice2 :0</div>
<div id="sum" class="dicesum"> Sum :0</div>
<div id = "wins" class="score"> Wins :0</div>
<div id = "losses" class="lose"> Losses :0</div>
<button type="button" onclick="clicked(this.name)" name="even">Even</button>
<button type="button" onclick="clicked(this.name)" name="odd">ODD</button>
<script>
let score = 0;
let lose = 0;
const losses = document.getElementById("losses");
const wins = document.getElementById("wins");
function clicked(name){
var d1 = Math.floor(Math.random() * 6) + 1;
var d2 = Math.floor(Math.random() * 6) + 1;
var d11 = parseInt(d1);
var d22 = parseInt(d2);
var d33 = parseInt(d11 + d22);
const result = d33 % 2 == 0 ? 'even' : 'odd';
die1.innerHTML = "Dice 1 rolled: " + d1;
die2.innerHTML = "Dice 2 rolled: " + d2;
sum.innerHTML = " Total Sum: " + d33;
if( name === result) {
score++;
} else {
lose++
}
wins.innerHTML = " Wins : " + score;
losses.innerHTML = " Losses : " + lose;
}
</script>
偶数
偶数
1比0
比分2:0
总数:0
胜利:0
损失:0
即使
古怪的
分数=0;
让失去=0;
常量损失=document.getElementById(“损失”);
const wins=document.getElementById(“wins”);
单击的函数(名称){
var d1=数学地板(数学随机()*6)+1;
var d2=数学地板(数学随机()*6)+1;
var d11=parseInt(d1);
var d22=parseInt(d2);
变量d33=parseInt(d11+d22);
常量结果=d33%2==0?'偶数':'奇数';
die1.innerHTML=“掷骰子1:”+d1;
die2.innerHTML=“掷骰子2:”+d2;
sum.innerHTML=“总和:”+d33;
如果(名称===结果){
分数++;
}否则{
失去++
}
wins.innerHTML=“wins:”+分数;
loss.innerHTML=“损失:”+损失;
}
如果您遇到一些小的逻辑错误,我建议您利用JavaScript,您可以只使用一个“main”模块(我们称之为play()
)来处理游戏的逻辑
此外,如果您没有使用您定义的DOM引用,那么最好删除它们。代码越少越好。(大部分时间)
请看以下更正:
什么改变了
- 添加了一个“log”div,以便玩家可以看到正在发生的事情
- 删除了未使用的DOM引用
- 添加了
函数,可处理游戏中的所有内容play()
- 添加了
函数,该函数可以滚动所需的骰子数量rollDice()
let-won=0;
让lost=0;
函数rollDice(amount=1){//一个模块,用于滚动所需的数量骰子
让骰子=[];
对于(设c=0;c考虑编写接收输入并生成输出的函数)-
const roll=(边=6)=>
Math.floor(Math.random()*边)+1
const isWin=(总和,下注)=>
(和1)==下注
常量更新=(下注,状态)=>
{const d1=roll()
常数d2=滚动()
常数和=d1+d2
返回Object.assign
(说明
,{d1,d2,sum}
,isWin(总和,赌注)
?{win:state.win+1}
:{loss:state.loss+1}
)
}
常量呈现=(形式、状态)=>
对象
.条目(状态)
.forEach(([k,v])=>form[k].value=v)
常量播放=(形式、赌注、状态)=>
提供
(表格
,更新(下注,状态)
)
//初始化
恒定状态=
{d1:0,d2:0,和:0,赢:0,输:0}
常量f=document.querySelector(“表单”)
f、 evenbet.addEventListener(“单击”,事件=>播放(f,0,状态))
f、 addEventListener(“单击”,事件=>播放(f,1,状态))
渲染(f,状态)
骰子:
总和:
赢:
损失:
打赌:
古怪的
即使
对parseInt()
的调用是毫无意义的。数字已经是整数了。还有,你期望偶数是什么?单击和奇数。单击的意思是什么?@point好吧,当我使用parseInt时它开始工作(当我没有打开parse int时它没有显示和数),我把它与。单击()命令,我改了