在JS中获取一个随机数

时间:2017-12-26 14:45:20

标签: javascript arrays

我对JS有点新鲜。 我有一些代码可以在某个游戏中不断下注,我试图让它从我设置的数组中跳过随机数量的会话。

现在,由于某种原因,它完全跳过4个会话。我做错了什么?

我也很想知道如何在控制台中显示所选的号码。

/** -------------- Settings -------------- **/

var array = [0,1,2,3,4,5];
var num = Math.floor(Math.random() * array.length);
var roll = array.splice(num, 1);
var yourNumber = roll[ 0 ];

var settings = {

    'baseBet': 1,
    //Your base bet

    'nyanMultiplier': 1.10,
    //What multiplier would you like to grab

    'waitGames': yourNumber,
    //How many games should we wait before starting the bet

};
/** -------------- Settings -------------- **/


var script = {
    'totalWaited': 0,
    'placingBet': false,
    'attempts': 0
};

engine.on('game_starting', function(info)
{

    if(script.totalWaited >= settings.waitGames)
    {
        script.placingBet = true;
        engine.placeBet(Math.round(settings.baseBet) * 100, Math.round(settings.nyanMultiplier * 100), false);
        log('Placing bet now');
    }
    else
    {
        log('Still waiting before we place the bet.');
        script.placingBet = false;
    }

    if(script.placingBet)
    {
        if (engine.lastGamePlay() == 'LOST')
        {
            log('Shot and a miss, maybe next game <3');
        }
        else
        {
            log('YO WE GOT IT. GG <3');
            script.totalWaited = 0;
            script.attempts = 0;
            settings.waitGames;

        }
    }

});

engine.on('game_started', function(data)
{
    if(!script.placingBet)
    {
        script.totalWaited++;
    }
    else
    {
        script.attempts++;
    }
});

function log(message)
{
    console.log('[Bot] ' + message);
}

1 个答案:

答案 0 :(得分:1)

您的数组长度为6,因此:Math.floor(Math.random() * array.length);将创建0-5之间的数字。

那个&#39;拼接&#39;不仅会检索数组中的单元格数量(在您的情况下为1),还会改变原始数组并删除这些单元格。

除非这是故意的,否则请使用slice

yourNumber可能是4,但你的代码是正确的,所以它实际上应该是该数组中的随机数。从这里转移到第二个请求 - console.log(yourNumber)是如何将它打印到可用的控制台(我可以看到已经在log函数中实现)。