2012-11-03 59 views
0

我不知道爲什麼這不起作用。一切都是正確的,語法看起來很完美。 誰能告訴我什麼是錯的? 收到廣播選擇的困難,但我已經在這裏宣佈。 功能bot不會進入警報。相對於「開關」的功能將不起作用

var difficulty = "easy"; 
    var botchance = 0; 
    var botroll = 0; 
    var botscore = 0; 


function bot(){ 
    botchance = Math.floor(Math.random() * (10 - 1 + 1)) + 1; 

    switch(difficulty){ 
    case "easy": 
     if (botchance <= 6){ 
      botroll = Math.floor(Math.random() * (10 - 3 + 1)) + 3; 
     } 
     else botroll=10; 
     break; 
    case "medium": 
     if (botchance <= 7){ 
      botroll = Math.floor(Math.random() * (9 - 2 + 1)) + 2; 
     } 
     else botroll=10; 
     break; 
    case "hard": 
     if (botchance <= 8){ 
      botroll = Math.floor(Math.random() * (8 - 1 + 1)) + 1; 
     } 
     else botroll=10; 
     break; 
    default: 
     if (botchance <= 9){ 
      botroll = Math.floor(Math.random() * (7 - 1 + 1)) + 1; 
     } 
     else botroll=10; 
    } 

alert(botscore); 
alert(botroll); 
} 
+0

歡迎來到StackOverflow。你確定你已經包含了所有相關的代碼嗎? 'botscore'沒有在您提供的代碼中定義。 – phant0m

+2

'It does not work'務必確保在你的問題中包含你期望發生的事情2)發生了什麼事情,而且通常是3)你試圖解決的問題。 – phant0m

+0

爲什麼不寫這些簡單的數字(比如'10')而不是這些詞('10 + 1-1')? – Bergi

回答

2

如果你看一下開發者控制檯,您將看到:

ReferenceError: botscore is not defined

其中停止執行,你不會看到的警報。

+0

是的。始終使用與Chrome或Firebug for Firefox一起提供的開發人員工具。它總是有助於在瞬間調試和捕獲這些錯誤。 –

+0

宣佈。它不起作用._。 – CasmiguelF

+0

@CasmiguelF請澄清它是最初宣佈的,還是在看到我的答案後才宣佈它。如果最初沒有聲明,那麼您正在使用緩存文件(這也可以從開發人員工具中看到)。 OTOH,如果它最初是被聲明的,你的代碼將按原樣工作。 – Esailija

0

刪除alert(botscore);或聲明它;