2012-11-03 24 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);或声明它;