我对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);
}
答案 0 :(得分:1)
您的数组长度为6,因此:Math.floor(Math.random() * array.length);
将创建0-5之间的数字。
那个&#39;拼接&#39;不仅会检索数组中的单元格数量(在您的情况下为1),还会改变原始数组并删除这些单元格。
除非这是故意的,否则请使用slice。
yourNumber
可能是4,但你的代码是正确的,所以它实际上应该是该数组中的随机数。从这里转移到第二个请求 - console.log(yourNumber)
是如何将它打印到可用的控制台(我可以看到已经在log
函数中实现)。