-2

在这个函数中,我需要创建一个名为“dorfX”的新变量。X 是变量将进入的数组的长度。例如,这将产生一个名为“dorf5”的变量,其参数在函数“makeADorf”中指定。但是,它不想工作,因为变量的名称没有被识别。

据我所知,要么我需要以某种方式重命名变量,要么弄清楚如何使它工作。

这可能有一个简单的答案,但我对编程很陌生,如果我能得到一些帮助,我将不胜感激。谢谢。

function guildRecruit(){
    var price = Math.floor((Math.random()*100)+1) + (dorves.length*50);
    var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
    if(recruit == "yes"){
        var dorf(dorves.length) = new makeADorf("Testificate","123");
        dorf(dorves.length).push(dorf(dorves.length));
    }else{
        confirm("Thank you for visiting the Dragon Slayer Guild.");
    }
}
4

1 回答 1

0

我认为您对如何设置代码有些困惑。从你写的猜测,看起来你想要一个函数:

  • 创建一个新的多夫/冒险家并记住它
  • 除了写消息什么都不做

为此,您可能希望在函数外部创建一个数组。我将数组称为“冒险者”。如果制作新 dorf 的条件为真,则将新 dorf 推送到“adventurers”数组。像这样的东西(注意:我删除了任何使用 dorves 的代码):

var adventurers = []; // new Array(); would do the same thing, read Jan Dvorak's comment
function guildRecruit() {
    var price = Math.floor((Math.random()*100)+1);
    var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
    if (recruit == "yes") adventurers.push(new makeADorf("Testificate","123"));
    else confirm("Thank you for visiting the Dragon Slayer Guild.");
}

编辑:我想不出用数字创建变量会有用的情况。我也相当肯定这是不可能的。数组的要点是使用与此类似的逻辑,但您的 dorves 将被引用,adventurers[0]而不是adventurers(someFunction).

于 2013-08-24T08:08:08.403 回答