作者plover (笨根根喜歡你 (^c^)y▂ξ)
看板GambleGhost
標題Re: dunk
時間Thu Mar 23 19:38:25 2006
※ [本文轉錄自 talk 看板]
作者: plover (>//////<) 看板: talk
標題: Re: dunk
時間: Wed Aug 3 16:08:27 2005
※ 引述《Altair (欲寄相思千里月)》之銘言:
: 請洽本板專屬程式顧問 -- 小根根
: ※ 引述《dino2 (從此)》之銘言:
: : 我也是看到這人數
: : 不過
: : 本來不是說取餘數嗎~___~
: : 為什麼是餘數加一呀~___~
慘券是怎麼開獎的咧?這問題大家都很關心, 我也很關心, 一
切的關鍵都在
https://opensvn.csie.org/pttbbs/trunk/
這個網址是 PttBBS 目前主要開發的版本, 也是批踢踢實業坊
和批踢踢兔兩個站台所使用的版本. 在這個版本中含有最新的
程式, 但是可能會不穩定, 有 bug, 甚至和之前的版本不相容.
接下來來看:
https://opensvn.csie.org/pttbbs/trunk/pttbbs/util/openticket.c
這裡面跟你講怎麼開獎的, 不懂程式沒關係, 聽我唬爛就對了.
一開始你會看到下面這一行程式碼:
static char *betname[8] =
{"Ptt", "Jaky", "Action", "Heat",
"DUNK", "Jungo", "waiting", "wofe"};
這個有熟悉到吧, 假設我們忽略一些東西, 上面的資訊告訴我
們:
betname[0] = Ptt
betname[1] = Jaky
betname[2] = Action
betname[3] = Heat
betname[4] = DUNK
betname[5] = Jungo
betname[6] = waiting
betname[7] = wofe
接著繼續看下去, 看一下 int main(int argc, char **argv){}
裡面的內容, 好多都看不懂耶, 但是重點我幫大家抓出來了:
attach_SHM();
bet = SHM->UTMPnumber % 8;
這意思就是: 要開多少, 由 share memory 中的 UTMPnumber
變數來決定, 也就是
根據批踢踢實業坊主機記憶體的上站人數
來決定! 為什麼呢?因為批踢踢大站上站人數很不固定, 可以
當成夠亂的亂數!程式碼中也有一些討論, 老站長說因為開獎
時間有規律, 所以會被賭客找出規律, 所以不採用 random()
函數, 總之重點就是
根據上站人數來決定! 細節是假設站上有
x 人, 把 x 除以八看餘數:
餘零就開 Ptt
餘一就開 Jaky
餘二就開 Action
餘三就開 Heat
餘四就開 DUNK
餘五就開 Jungo
餘六就開 waiting
餘七就開 wofe
當站上有 人, 那該開幾呢?@O@
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.142
1F:→ flura:這一篇有控制碼 為什麼沒有警告呢? 218.166.67.176 08/03
2F:推 catsangel:緊握小根根 01/10 17:39
3F:推 catsangel:緊握小根根 01/10 17:41
4F:推 catsangel:緊握小根根 01/10 17:43
5F:推 catsangel:緊握小根根 01/10 17:45
6F:推 catsangel:緊握小根根 01/10 17:48
7F:推 catsangel:緊握小根根 01/10 17:51
8F:推 catsangel:緊握小根根 01/10 17:53
9F:推 catsangel: 01/10 18:13
10F:推 catsangel:緊握 01/10 18:25
11F:推 catsangel: 01/10 18:27
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.142
12F:推 jijeng2001:5 03/23 19:53