我构建了一个名为roll()
的函数来处理掷骰子。我试图读取卷的价值,并检查是否连续两次击中连续两次,以便我可以打断玩家轮流并将其转向下一个玩家。检查JavaScript中变量值的两个连续值匹配
我可以读取骰子的值好吧,我无法弄清楚如何检查连续两次6。
这是我的函数:
roll = function(){
if (gamePlaying){
// 1. Get a random number
//var dice = Math.floor(Math.random() * 6) + 1; //1 to 6 randomly
var dice = 6;
//2. Display the result
var diceDOM = document.querySelector('.dice');
diceDOM.style.display = 'block';
diceDOM.src = 'images/' + 'dice-' + dice + '.png';
//3. Update the roundScore IF the rolled number is not 1
// for type coersion, we need to use !== and not !=
if(dice !== 1) {
//add score
roundScore += dice; // same as roundScore = roundScore + dice
//it outputs to a div of ID = #myId
document.querySelector('#current-' + activePlayer).textContent = roundScore;
} else {
alert('Next Player')
nextPlayer();
}
// Is this right?
for(var i = 1; i >= 2; i++){
if (dice == 6){
console.log('sixes');
}
}
}
}
正在通过一个按钮,这样的触发:
document.querySelector('.btn-roll').addEventListener('click', function(){
roll();
});
我装游戏这CODEPEN
附:我在随机函数下放了一个dice = 6;
,所以你不必玩游戏直到你得到两个六分。只需取消它的注释并注释掉骰子=数学函数,你将只获得六个。
我还把“这是对的吗?”评论一个for循环的顶部。我的意思是,“这是正确的做法吗?”我应该继续尝试一个循环还是我已经离开了?
顺便说一句,如果2个乱七八糟做上来,整个成绩被注销的时候被传递到score[]
但我可以做到这一点。我想笑
非常感谢。
任何需要比单次滚动更长的值(得分和计数器上有多少个六进制数)需要存储在范围比函数更高的变量中。这样,您的功能可以检查这些值,当一个新的卷发生并相应采取行动。 –
'for(var i = 1; i> = 2; i ++){'=>你想要做什么?这是从来没有 – Fefux
@Fefux我试图。 – LOTUSMS