微信猜拳演算法
發布時間: 2024-10-26 19:23:35
Ⅰ 微信紅包的隨機演算法是怎樣實現的
下面是一個比較拙的演算法,真實的紅包隨機數要稍微復雜些:
classProgram
{
staticvoidMain(string[]args)
{
double[]hb=WeiXin.Hongbao(5,1);
for(inti=0;i<5;i++)
{
Console.WriteLine(hb[i]);
}
}
}
///<summary>
///微信類
///</summary>
publicclassWeiXin
{
///<summary>
///紅包隨機分配
///</summary>
///<paramname="personNumber">紅包個數</param>
///<paramname="money">金額</param>
///<returns></returns>
publicstaticdouble[]Hongbao(intpersonNumber,doublemoney)
{
Randomrand=newRandom();
doublefen=money;
double[]hb=newdouble[personNumber];
doublerm=0D;
//預分配
for(inti=0;i<personNumber;i++)hb[i]=0.01;
fen-=(personNumber*0.01);
if(fen>0.01)
{
//隨機分配
while(fen>0)
{
rm=GetRandomNumber(0.01,fen);
hb[rand.Next(0,personNumber)]+=rm;
fen-=rm;
}
}
returnhb;
}
///<summary>
///返回介於minimum和maximum之間的隨機數
///</summary>
///<paramname="minimum">最小值</param>
///<paramname="maximum">最大值</param>
///<returns></returns>
(doubleminimum,doublemaximum)
{
Randomrandom=newRandom();
returnMath.Round(random.NextDouble()*(maximum-minimum)+minimum,2);
}
}
Ⅱ 微信歡樂鬥地主勝局積分怎麼演算法的
要基礎豆子,就是開始1盤就要付220或300豆子
基礎倍數,沒有炸彈就30倍,若有搶庄1次就60,2次就120
炸彈倍數*2,火箭*2
地主3張里有特殊牌(如有1個王再*3同花*3……)
最後是基礎倍數*炸彈/火箭倍數*是否有特殊牌倍數,農民贏了加一半得分,地主全部,輸了反之,只要玩1局游戲,不論勝負,都要付基礎豆子(220/300),豆子沒滿1000不能開始游戲
望採納,謝謝
熱點內容