编写一个程序"roll a dice"需要接受一个数字和滚动次数,然后输出 1-6 的许多数字



我想要输出的内容:骰子。 dice.rollndice(3(=> [x,x,x]

我知道我的代码的第二部分是错误的,但是我不确定如何修复它或其他要添加的内容。但是我需要致电Rolldie并返回代表卷的数组

rollDie: function() {
        return Math.floor(Math.random() * this.sides) + 1;
    },
   
    rollNDice: function(n) {
        rollDie(var result = [];
            for (var i =0,i<=[/1-6/] ;i++)
            )

解决方案
我可以告诉您是这种语言的新手。为什么?让我评论您犯的所有错误:(我修复了一些缩进(

rollDie: function() { // Unexpected parenthesis: this is not how you define a
                      // function. Define a function by doing 'function rollDie()'
    return Math.floor(Math.random() * this.sides) + 1; // incorrect method of random
}, // remove comma
rollNDice: function(n) { // Same here: 'function rollNDice(n) {...}'
    rollDie(var result = []; // -.-
    for (var i =0,i<=[/1-6/] ;i++) // incorrect usage of for statement .-.
//           ^        ^
// bad formatting   ????? ._.
    ) // unexpected parenthesis ._.
// missing bracket from rollNDice ._.

我将向您展示for语句的正确用法:

for (var i = 0; i > n i++) { // (var i; while i is greater than n; increment i)
    // do stuff
}

现在,我将向您展示如何从1到6中获取一个随机数:

Math.floor((Math.random() * 6) + 1);

几乎在那里。现在,让我们更改Rolldie功能。而不是rolldie:function((...,我将其更改为function rolldie((。意外的括号是由于foo: function()...。格式为function foo()。但是您必须是这种语言的新手。

function rollDie() {
    return Math.floor((Math.random() * 6) + 1);
}
function rollNDice(n) {
    ...
}

现在,据我所知,在参数内定义一个变量是不好的做法。或至少,除了(var i ...(以外,我不经常看到它。将结果放在开始:var result = []。现在用于语句。

for (var i = 0; i > n-1; i++) {
    result.push(rollDie()); // result.push(3) returns [3], and if 
}                           // result is [5, 4, 2], result.push(4)
return result               // makes it result[5, 4, 2, 4]

它有效!我会告诉你:

function rollDie() {
    return Math.floor((Math.random() * 6) + 1);
}
function rollNDice(n) {
  var result = ["results:"];
  for (var i = 0; i < n; i++) {
      result.push(rollDie()); 
  }                          
  return result;               
}
console.log(rollNDice(4));

输出:["result", 6, 1, 6, 5];它有效!

您的语法都是错误的。

由于rollDie是属性,因此您必须称其为Dice.rollDie()。您不会将for循环放入函数的参数列表中,而是在for循环中调用函数。而且,由于您想返回所有卷的数组,因此需要构建数组。

rollNDice: function(n) {
    var dice = [];
    for (var i = 0; i < n; i++) {
        dice.push(Dice.rollDie());
    }
    return dice;
}

最新更新