2013-05-10 86 views
1

我一直在試圖讓一個基本上保持「投擲骰子」(隨機化值)的程序,直到你得到蛇眼,當你它應該顯示擲骰子有多少次。但是,它不會加載。我做錯了什麼?我的代碼沒有加載(卡住do/while循環?)

var countRolls = 0; 
do { 
var die1 = (Math.random() * 6) + 1; 
var die2 = (Math.random() * 6) + 1; 
++countRolls; 
} while (die1 != 1 || die2 != 1); 
console.log(countRolls); 

我試過在Chrome/Firefox中打開它,它只會永久加載,我將無法打開控制檯。試過在JSFiddle中,它變得沒有反應。

+0

你如何試圖加載它? – Barmar 2013-05-10 22:01:24

+0

噢,對了,我試過在Chrome/Firefox中打開它,它只是說它的加載不斷,並且我將無法打開控制檯。嘗試在JSFiddle中,它會變得沒有反應 – 2013-05-10 22:02:09

+2

嘗試每次通過循環記錄'die1'和'die2'的值,我想你會明白爲什麼。 – Barmar 2013-05-10 22:02:44

回答

4

因爲Math.random()回報,機率幾乎是0%die1和die2既爲1

+0

謝謝!不知道這是一個雙。 Math.floor()做到了! – 2013-05-10 22:06:09

+0

謝謝你Rocket。 Giswin – Gisway 2013-05-10 22:08:05

-1

你的循環將永遠不會結束,因爲你添加一個隨機函數和停止條件僅僅是測試不是1但這不會發生。

添加console.log(die1,die2);do {}