【发布时间】:2015-02-09 16:55:40
【问题描述】:
我正在尝试制作一个非常基本的骰子游戏(Javascript 新手)。在页面加载时,“骰子”被“滚动”了 3 次并显示结果,并显示一条消息,说明您是否成功掷出 6。我正在尝试输入有关已赢得多少场比赛的永久消息-问题是,如果您查看下面的代码,则每次获胜时我用于此“胜利”的变量都会增加,但是它实际上只显示两个值:如果用户刚刚输了,则为 0,如果用户赢了,则为 1。无论掷骰子多少次,它都不会达到更高的数字。想知道是否有人有解决方案/解释?
代码:
console.log("Dice game. You have 3 tries to roll a 6 - go");
var rolls = 0;
var wins = 0;
function rollDice() {
var dice = Math.random();
if (dice <= .17) {
dice = 1;
}
else if (dice <= .33) {
dice = 2;
}
else if (dice <= .50) {
dice = 3;
}
else if (dice <= .67) {
dice = 4;
}
else if (dice <= .84) {
dice = 5;
}
else if (dice <= 1) {
dice = 6;
}
return dice;
}
function diceGame() {
do {
var dice = rollDice();
console.log(dice);
rolls++;
if (dice === 6) {
console.log("You won!");
wins++;
if (rolls === 1) {
console.log("It took " + rolls + " try");
}
else {
console.log("It took " + rolls + " tries");
}
break;
}
}
while (rolls <= 2);
if (dice !== 6) {
console.log("You lost");
}
}
diceGame();
console.log("Times won: " + wins);
【问题讨论】:
-
必须刷新/重新加载页面才能再次掷骰子?
-
当你赢了你在做
break;而不是continue; -
去掉“break”操作符
标签: javascript