国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

微信搶紅包ASP.NET代碼輕松實現

來源:懂視網 責編:小采 時間:2020-11-27 22:36:31
文檔

微信搶紅包ASP.NET代碼輕松實現

微信搶紅包ASP.NET代碼輕松實現:群里都在玩搶紅包,搶了再發,發了再搶,簡直是無聊,程序員感興趣是的如何實現,這里簡單說說實現思路,附上dome,代碼有點low,好在是實現了,具體內容如下 正文 100塊發30個紅包 50塊發13個紅包 1塊發10個紅包 發紅包需要滿足以下幾個條件 1.
推薦度:
導讀微信搶紅包ASP.NET代碼輕松實現:群里都在玩搶紅包,搶了再發,發了再搶,簡直是無聊,程序員感興趣是的如何實現,這里簡單說說實現思路,附上dome,代碼有點low,好在是實現了,具體內容如下 正文 100塊發30個紅包 50塊發13個紅包 1塊發10個紅包 發紅包需要滿足以下幾個條件 1.

群里都在玩搶紅包,搶了再發,發了再搶,簡直是無聊,程序員感興趣是的如何實現,這里簡單說說實現思路,附上dome,代碼有點low,好在是實現了,具體內容如下 

正文

100塊發30個紅包

  

50塊發13個紅包

  

1塊發10個紅包

  

發紅包需要滿足以下幾個條件

1.總金額不變
2.每個紅包都必須有錢
3.盡量的均勻點,不然搶紅包沒什么意思了 

實現思路
1.首先要確定最小單位,這里是精確到分,我這里以int類型進行計算,得出的結果也全是int類型
2.數據均勻,這里以  1<n<(剩余金額/剩余紅包數)*2,這里防止一個紅包搶走大量的錢,這里需要寫個遞歸,去檢查數據值是否過大,50元發13個紅包的第3圖,就是因為沒有檢查數據,導致錢不平均,這個可以根據自己的玩法去設置.
3.余數處理,當數據平均給20個紅包,肯定跟總金額有所偏差,這時候我們就要多退少補,如果大于總金額,讓紅包金額多的去減少(總金額/總人數),如果還有剩余,就讓第二多的去減少,直到補完這個空缺為止,反之亦然.
4.打亂順序,細心的園友可能發現,紅包是有順序規律的,我們必須簡單的寫個function去打亂它.   

demo 

/// <summary>
 /// 搶紅包
 /// </summary>
 /// <param name="money"></param>
 /// <param name="num"></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 < num; i++)
 {
 int max = (money / (num - i)) * 2;
 int s = rnd.Next(min, max);
 s = checkmoney(s, min, max);
 list.Add(s);
 money -= s;
 }
 //前面數據都是合理的,結尾必須多退少補
 list = checklist(money, pjs, list);
 return list;
 }
/// <summary>
 /// 余數處理
 /// </summary>
 /// <param name="money"></param>
 /// <param name="list"></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 < money / pjs + 1; i++)
 {
 if (i == money / pjs)
 {
 list_order[i] += (money - (money / pjs) * pjs);
 }
 else
 {
 list_order[i] += pjs;
 }

 }
 }
 return list_order;
 }
 else
 {

 List<int> list_order = maopao(list,"desc");
 //給最大
 if (money / pjs == 0)
 {

 list_order[0] += money;
 }
 else
 {
 for (int i = 0; i < -(money / pjs) + 1; i++)
 {
 if (i == -(money / pjs))
 {
 list_order[i] += (money - (money / pjs) * pjs);
 }
 else
 {
 list_order[i] -= pjs;
 }

 }
 }
 return list_order;
 }
 }
 return list;
 }

 /// <summary>
 /// 冒泡排序
 /// </summary>
 /// <param name="list"></param>
 /// <param name="order"></param>
 /// <returns></returns>
 public List<int> maopao(List<int> list,string order = "asc")
 {
 if (order != "asc")
 {
 for (int i = 0; i < list.Count; i++)
 {
 for (int j = 0; j < list.Count - i - 1; j++)
 {
 if (list[j + 1] > list[j])
 {
 int temp = list[j];
 list[j] = list[j + 1];
 list[j + 1] = temp;
 
 }
 }
 }
 }
 else 
 {
 for (int i = 0; i < list.Count; i++)
 {
 for (int j = 0; j < list.Count-i-1;j++)
 {
 if (list[j+1] < list[j])
 {
 int temp = list[j];
 list[j] = list[j+1];
 list[j+1] = temp;

 }
 }
 }
 }
 return list;
 }

/// <summary>
 /// 打亂順序
 /// </summary>
 /// <param name="list"></param>
 /// <returns></returns>
 public List<int> suiji(List<int> list) 
 {
 Random rnd = new Random();
 for (int i = 0; i < list.Count; i++)
 {
 int temp = list[i];
 int j = rnd.Next(0, list.Count-1);
 list[i] = list[j];
 list[j] = temp;
 }
 return list;
 }

本文已被整理到了《ASP.NET微信開發教程匯總》,歡迎大家學習閱讀。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

微信搶紅包ASP.NET代碼輕松實現

微信搶紅包ASP.NET代碼輕松實現:群里都在玩搶紅包,搶了再發,發了再搶,簡直是無聊,程序員感興趣是的如何實現,這里簡單說說實現思路,附上dome,代碼有點low,好在是實現了,具體內容如下 正文 100塊發30個紅包 50塊發13個紅包 1塊發10個紅包 發紅包需要滿足以下幾個條件 1.
推薦度:
標簽: 搶紅包 實現 代碼
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧日韩一区二区三区 | 久久国产成人精品国产成人亚洲 | 亚欧免费视频一区二区三区 | 国产资源在线看 | 国产精品毛片一区二区三区 | 国产一级淫片a免费播放口 国产一级特黄a大片99 | 拍拍拍免费网站 | 日韩在线第二页 | 欧美日韩精品一区二区三区高清视频 | 大陆一级毛片 | 国产成人精品免费视频大全可播放的 | 久久亚洲不卡一区二区 | 国内精品久久久久影院网站 | 日韩欧美亚洲国产高清在线 | 色在线播放 | 国产一区二区成人 | 亚洲欧美影院 | 婷婷久草 | 黄片毛片一级 | 国产成人乱码一区二区三区 | 国产成人精品亚洲一区 | 亚洲一区二区在线成人 | 人成精品视频三区二区一区 | 国产成人一区二区 | 91中文字幕在线视频 | 成人a网 | 欧美 亚洲 一区 | 国产精品综合一区二区 | 国产一区二区三区亚洲欧美 | 欧美日韩精品一区二区三区 | 护士精品一区二区三区 | 一区二区三区成人 | 久久久久女人精品毛片九一 | 极品美女aⅴ高清在线观看 激情综合久久 | 国产精品视频一区二区三区w | 青青热久久国产久精品 | 亚洲欧洲精品成人久久曰影片 | 国产日韩欧美91 | 亚洲精品高清在线观看 | 亚洲精美视频 | 中文字幕日韩一区二区三区不卡 |