【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包_第3頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包_第4頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包

這篇文章主要介紹了ASP.NET代碼如何實(shí)現(xiàn)微信搶紅包,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓在下帶著大家一起了解一下。具體內(nèi)容如下正文100塊發(fā)30個(gè)紅包50塊發(fā)13個(gè)紅包1塊發(fā)10個(gè)紅包發(fā)紅包需要滿足以下幾個(gè)條件1.總金額不變2.每個(gè)紅包都必須有錢3.盡量的均勻點(diǎn),不然搶紅包沒什么意思了實(shí)現(xiàn)思路1.首先要確定最小單位,這里是精確到分,我這里以int類型進(jìn)行計(jì)算,得出的結(jié)果也全是int類型2.數(shù)據(jù)均勻,這里以

1<n<(剩余金額/剩余紅包數(shù))*2,這里防止一個(gè)紅包搶走大量的錢,這里需要寫個(gè)遞歸,去檢查數(shù)據(jù)值是否過大,50元發(fā)13個(gè)紅包的第3圖,就是因?yàn)闆]有檢查數(shù)據(jù),導(dǎo)致錢不平均,這個(gè)可以根據(jù)自己的玩法去設(shè)置.3.余數(shù)處理,當(dāng)數(shù)據(jù)平均給20個(gè)紅包,肯定跟總金額有所偏差,這時(shí)候我們就要多退少補(bǔ),如果大于總金額,讓紅包金額多的去減少(總金額/總?cè)藬?shù)),如果還有剩余,就讓第二多的去減少,直到補(bǔ)完這個(gè)空缺為止,反之亦然.4.打亂順序,細(xì)心的園友可能發(fā)現(xiàn),紅包是有順序規(guī)律的,我們必須簡單的寫個(gè)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;

}

//前面數(shù)據(jù)都是合理的,結(jié)尾必須多退少補(bǔ)

list

=

checklist(money,

pjs,

list);

return

list;

}///

<summary>

///

余數(shù)處理

///

</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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論