2019年3月22日 星期五

[VB.NET] [Windows Form] 抽獎抽籤程式不重複 尾牙春酒 都好用




第一次自己寫抽獎程式,能在大型活動上使用就覺得感動😎 因為沒有出現BUG啊!!!😆
其實要用電腦抽獎當然是不難,而且活動中使用感覺也很刺激,但是終究結果還是會讓人難以信服,真要解決這問題,遊戲規則還是要訂好啊!

抽獎程式需求不外乎就需要幾個重要訴求

1.使用亂數抽,亂數種子使用時、分、秒、毫秒、微秒

Dim randomstring As String = Format(Now, "HHmmssffff")
Dim rnd As Random = New Random(randomstring)
RwinnerName = candidates.OrderBy(Function(o) rnd.Next()).First()

2.抽獎結果不重複,我是求簡單只使用比對法

For j = 0 To i - 1
If winnerName(i) = winnerName(j) Then
    i = i - 1
Exit For
End If
Next  j


3.把抽中的名單移除後就可以再重新抽出下一輪了


4.搭配抽獎按鈕,原本想要來一個無限按鈕,可以設定控制ENTER鍵或者是其他可自訂的按鈕,後來現在這種拍拍燈又漂亮效果又好,拿來當抽獎燈真的是蠻有氣氛的,還可以讓抽獎的人覺得太過癮了,為了玩下去一直加碼也是很開心的呀 !




最後分享一下我的程式碼 下載程式碼
也許還會被你測試出BUG,再記得分享回饋給我喔 啾咪~~

程式參考:漫談尾牙抽獎程式的公正性