2012-12-02 72 views
0

當我運行下面的代碼出現此錯誤:的Math.random錯誤

哎呀,再試一次。 你使用的Math.random()來得到一個隨機數?

使用:

聲明一個變量並使其等於的Math.random(),該變量將等於0和1

var userChoice = prompt("Do you choose rock,paper or scissors ?"); 
var computerChoice = Math.random(); 

console.log (computerChoice); 

if (computerChoice < 0.29) { 
    computerChoice = 'rock'; 
} else if (computerChoice > 0.30 && computerChoice < 0.60) { 
    computerChoice = 'paper'; 
} else { 
    computerChoice = 'scissors'; 
} 
+0

你在哪裏得到這個錯誤? – David

+0

在什麼樣的環境是你想執行JavaScript?它適用於firefox中的FireBug。一個側面說明,你的隨機選擇不均勻分配。如果這不是這個意圖,那麼分佈應該大約在0.33的範圍內 –

+0

這個錯誤信息甚至在你的代碼中都沒有。請添加更多信息,b)描述您的預期行爲,並c)詳細描述錯誤。 – Zeta

回答

0

之間的數我尋找發現一些完全不同的東西,並且偶然發現了這個問題。

的OP指的是行使建立在Codecademy網站剪刀石頭布的2.4。

我相信他一直在尋找的代碼是:

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
if (computerChoice <0.34){ 
    computerChoice = "rock"; 
}else if(computerChoice <=0.67){ 
    computerChoice = "paper"; 
}else{ 
    computerChoice = "scissors"; 
} 
var compare = function(choice1, choice2){ 
    if (choice1 == choice2){ 
     return("The result is a tie!"); 
    } 
    if (choice1 == "rock"){ 
     if (choice2 == "paper"){ 
     return("paper wins"); 
    } else { 
     return("rock wins"); 
    } 
    } 
    if (choice1 == "paper"){ 
     if (choice2 == "rock"){ 
     return("paper wins"); 
    } else { 
     return("scissors wins"); 
    } 
    } 
    if (choice1 == "scissors"){ 
     if (choice2 == "rock"){ 
      return("rock wins"); 
     } else { 
      return("scissors wins"); 
     } 
    } 
}; 
compare (userChoice, computerChoice); 

我敢肯定,OP早已找到了答案,他在CC論壇教訓。但我想我會回答它,以防其他人做的功課,來到這裏,看到後,需要一個答案。

OP的問題,我相信

原始來源是: Link to Task