Re: [遊戲] 分享我們的自製遊戲情報
※ 引述《AmosYang (泛用人型編碼器)》之銘言:
: 推 cowbaying: 來幫忙想一下要怎麼抽獎比較實在 XDDD 10/09 17:11
方案一
: http://xkcd.com/221/ :D
方案二
1. 假設 PTT 看版的投票系統是公正的,在開票前沒人能看到當前
選票分佈及投票者的留言
2. 開設以下的投票
* 主題: 我(投票者)是否要參加抽獎?
* 選項: {是, 否}
* 一人一票
選項 "否" 事實上是不必要的,但我猜想系統不會允許只有一個
選項的投票
3. 投票後,每個投票者請在意見欄裡留下至少一個整數
4. 開票後
* S = 每個投票者留下的整數之和
* 每個投票者會由投票系統自動給予一流水序號
"(S % 「是」票的總數) +1" 既是得獎號碼,對應到投「是」
票的人的流水序號
若要多次抽獎,則可繼續開獎,例如,先移除中獎者, 並依序遞
補流水序號,然後
"(S % (「是」票的總數-1)) +1" 為新得獎號碼
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.4.112.174
※ 文章網址: http://www.ptt.cc/bbs/GameDesign/M.1412946702.A.4A7.html
延伸閱讀: http://en.wikipedia.org/wiki/False_dilemma :D
※ 編輯: AmosYang (68.4.112.174), 10/10/2014 21:12:27
至於「會不會有人開分身來增加得獎機會? 」,可如一般投票加設條
件,例如,同 IP 者,以先投票的人優先,後投票者吃土
※ 編輯: AmosYang (68.4.112.174), 10/10/2014 21:16:42
「如果有人鬧場特意灌大數字怎麼辦?」
假設留言區一行80字元,最多三行,那就是最大只能灌到 (10^80-1)*3,
也只是個用 41 bit 就能代表的整數; 1GB 記憶體有 8*10^9 bit,
足以記載一個 2585827972 位的數字, 遠大於 10^80 (一個 80 位的數字)
這就像是今日已經沒人在用 email bomb 了…
※ 編輯: AmosYang (68.4.112.174), 10/10/2014 21:33:40
「如果有人鬧場特意使用科學算式表示式, 如 2^2^2...^2 怎麼辦?」
http://en.wikipedia.org/wiki/Tarring_and_feathering
※ 編輯: AmosYang (68.4.112.174), 10/10/2014 21:38:05
→
10/10 22:06, , 1F
10/10 22:06, 1F
實務上,就這次的情形,可以這樣做;甚至可規定數值必須在 Int32.MaxValue
與 Int32.MinValue 之間
數學上,得詳細分析這是否會對開票得獎的 randomness 有顯著的影
響
※ 編輯: AmosYang (68.4.112.174), 10/10/2014 22:15:57
討論串 (同標題文章)