首页 > 解决方案 > 如何让函数重复自身 [x] 多次?

问题描述

我正在做一个掷骰子程序。

到目前为止一切正常,直到我做到这一点

到目前为止的代码:

function randomNum(max) {
    return Math.floor(Math.random() * (max - 1 + 1)) + 1;
}

var names = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty'];

function rollDice(number, sides) {
    return("Rolled "+ names[number] +" "+ names[sides] +" sided dice");
}

function randomDice(number, sides) {
    function repeat(number) {
        randomNum(sides);
        if(sides > 20) sides==20;
}}

有问题的一点是:

function randomDice(number, sides) {
    function repeat(number) {
        randomNum(sides);
        if(sides > 20) sides==20;
}}

我想说的是

randomDice(2, 20)

它应该滚动 2 个 20 面骰子,但如果我想让它滚动多次,我无法让我的 randomNum 函数重复两次。

编辑:问题已得到解答,谢谢大家的帮助:)

标签: javascript

解决方案


尝试一个 for 循环

for (i=0; i<2; i++){
   repeat(20);
}
//move this function out of the randomDice function
function repeat(number) {
    randomNum(sides);
    if(sides > 20) sides==20;
}

推荐阅读