Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组中带权的随机数_Javascript_Node.js_Random_Gambling - Fatal编程技术网

Javascript 数组中带权的随机数

Javascript 数组中带权的随机数,javascript,node.js,random,gambling,Javascript,Node.js,Random,Gambling,我希望能够创建一个类似于老虎机结果的随机数数组。我知道如何提取随机数,但我想加权整个结果 例如,在下面的代码中,我只允许row2在10000次中返回[6,6,6]1 我遇到的问题是,我可以创建一个函数,它不会显示6,除非10000次显示一次,但这不是我想要的。我想在行中显示它,但只是不希望有特定的结果,除了10000次旋转中的一次 我想为所有获胜的一盘设定不同的赔率。有什么建议吗 以下是我目前的代码: varrow1=[0,0,0]; var row2=[0,0,0]; var row3=[0

我希望能够创建一个类似于老虎机结果的随机数数组。我知道如何提取随机数,但我想加权整个结果

例如,在下面的代码中,我只允许row2在10000次中返回[6,6,6]1

我遇到的问题是,我可以创建一个函数,它不会显示
6
,除非10000次显示一次,但这不是我想要的。我想在行中显示它,但只是不希望有特定的结果,除了10000次旋转中的一次

我想为所有获胜的一盘设定不同的赔率。有什么建议吗

以下是我目前的代码:

varrow1=[0,0,0];
var row2=[0,0,0];
var row3=[0,0,0];
var bar1=1;
var-bar2=2;
var bar3=3;
var=4;
var七=5;
var钻石=6;
var余额=100;
功能负载平衡(buyIn){
收益(余额+=买入);
}
var RELEARRAY=[1,2,3,4,5,6];
函数随机选择(arr){
const randIndex=Math.floor(Math.random()*arr.length);
返回arr[randIndex];
}
函数自旋(){

对于(j=0;j我认为最简单的方法是创建var数组

var reelArray = [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6];
连续3天的平均成绩是21^39126次

希望有用。
干杯!

一种方法是,三个槽中的两个槽有20个可能值,其余槽有25个可能值,然后每个槽中只出现一次6个(菱形)。对于更高的概率结果,允许每个槽中的各种符号的倍数。

要更改特定结果的几率吗

你可以检查那些特定的分数,然后做额外的随机检查

下面是一个模拟和计算这种方法的代码段

这并不能保证被篡改的结果每N次中的1次就被精确挑选一次。
但它们发生的几率会更低

另一种方法是存储一个对象,该对象带有用于被操纵结果的计数器。然后,仅当此类被操纵结果的计数器仍低于其限制时才会递归。当允许其通过时,重置其计数器。但知道使用了此方法的赌徒可以等待其他赌徒浪费赌注&愤怒退出。T母鸡在接近极限之前接管了比赛,从而增加了他获胜的几率

const-reelWords=['bar1','bar2','bar3','cherry','seven','diamond'];
const riggedOdds={111:100222:200333:300444:400555:500666:10000};
常量winningcombos=[11122233344455666];
函数getRandomReel(elementLimit){
设N=(elementLimit<2)?2:elementLimit;
如果(N>reelWords.length)N=reelWords.length;
设arrNums=[];
让arrWords=[];
而(棱长<3){
设idx=Math.floor(Math.random()*N);//随机0到N-1
arrNums.push(idx+1);
arrWords.push(reelWords[idx]);
}
设arrCombo=Number(arrNums.join(“”));
if(riggedOdds中的arrCombo){
设riggedOdd=riggedOdds[arrCombo];
设newOdd=Math.floor(riggedOdd/(N*N*N));
设n=Math.floor(Math.random()*(newOdd+1));
//log('combo:'+arrCombo+',rigged:'+riggedOdd+',new-odd:'+newOdd+',n:'+n);
如果(n>0){
返回getRandomReel(N);//递归
}
}
返回{“combo”:arrCombo,“words”:arrWords};
}
函数PrintDictaTable(dict){
让htmlstr=“NumberCount”;
设sortedKeys=Object.keys(dict.sort)(函数(a,b){return b-a});
对于(设i=0;i-1)“'won':'…”;
htmlstr+=“”+arr[0]+“”+arr[1]+“”+arr[2]+“”+winorlose+“”;
}
htmlstr+=“”;
document.getElementById(“resultContainer”).innerHTML=htmlstr;
}
LoopRiggeDoneArmedBandition模拟和打印();

要素:

循环:

循环与计数模拟 赌博