ASP.NET代码轻松实现微信抢红包
- 微信应用
- 2024-10-14 13:35:02
ASP.NET代码轻松实现微信抢红包
这篇文章主要为大家相许介绍了轻松实现微信抢红包的ASP.NET代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家相许介绍了轻松实现微信抢红包的ASP.NET代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家相许介绍了轻松实现微信抢红包的ASP.NET代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
群里都在玩抢红包,抢了再发,发了再抢,简直是无聊,程序员感兴趣是的如何实现,这里简单说说实现思路,附上dome,代码有点low,好在是实现了,具体内容如下
正文
100块发30个红包
50块发13个红包
1块发10个红包
发红包需要满足以下几个条件
1.总金额不变2.每个红包都必须有钱3.尽量的均匀点,不然抢红包没什么意思了
实现思路1.首先要确定最小单位,这里是精确到分,我这里以int类型进行计算,得出的结果也全是int类型2.数据均匀,这里以 13.余数处理,当数据平均给20个红包,肯定跟总金额有所偏差,这时候我们就要多退少补,如果大于总金额,让红包金额多的去减少(总金额/总人数),如果还有剩余,就让第二多的去减少,直到补完这个空缺为止,反之亦然.4.打乱顺序,细心的园友可能发现,红包是有顺序规律的,我们必须简单的写个function去打乱它.
demo
/// <summary> /// 抢红包 /// </summary> /// <param> /// <param> /// <returns></returns> public List<int> qhb(int money, int num) { int min = 1; int pjs = money / num; List<int> list = new List<int>(); Random rnd = new Random(); for (int i = 0; i <pre class="brush:php;toolbar:false">/// <summary> /// 余数处理 /// </summary> /// <param> /// <param> /// <returns></returns> public List<int> checklist(int money, int pjs, List<int> list) { if (money != 0) { if (money > 0) { List<int> list_order = maopao(list); //给最小 if (money / pjs == 0) { list_order[0] += money; } else { for (int i = 0; i list_order = maopao(list,"desc"); //给最大 if (money / pjs == 0) { list_order[0] += money; } else { for (int i = 0; i <pre class="brush:php;toolbar:false"> /// <summary> /// 冒泡排序 /// </summary> /// <param> /// <param> /// <returns></returns> public List<int> maopao(List<int> list,string order = "asc") { if (order != "asc") { for (int i = 0; i list[j]) { int temp = list[j]; list[j] = list[j + 1]; list[j + 1] = temp; } } } } else { for (int i = 0; i <pre class="brush:php;toolbar:false">/// <summary> /// 打乱顺序 /// </summary> /// <param> /// <returns></returns> public List<int> suiji(List<int> list) { Random rnd = new Random(); for (int i = 0; i </int></int>ASP.NET代码轻松实现微信抢红包由讯客互联微信应用栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“ASP.NET代码轻松实现微信抢红包”