Re: [閒聊] 樂透系統

看板mud (網路地下城/文字遊戲)作者 (小太保)時間12年前 (2013/01/22 23:07), 編輯推噓9(902)
留言11則, 4人參與, 最新討論串2/2 (看更多)
聊點相關的。 假設 n 個玩家,第一個玩家簽 m1 組,第二個玩家簽 m2 組, .....,第 n 個玩家簽 mn 組。 mapping player_dbase=([ "玩家1":({ ({所簽號碼組1}),({所簽號碼組2}),... }), "玩家2":({ ({所簽號碼組1}),({所簽號碼組2}),... }), . . "玩家n":({ ({所簽號碼組1}),({所簽號碼組2}),... }), ]); 而開出的獎號組假設為 numbers=({1,2,3,4,5,6,1}); 宣告一個 mapping award_dbase=([]); 而得獎的基本條件是前 6 個號碼至少中 2 個,後面中 1 個 ,或前 6 個號碼至少中 3 個。 players=keys(player_dbase); foreach(player in players) { award_dbase[player]=({}); tmps=player_dbase[player]; n1=0; n2=0; foreach(sub_tmps in tmps) { for(i=0;i<6;i++) if(member_array(numbers[i],sub_tmps)!=-1) n1++; if(numbers[6]==sub_tmps[6]) n2=1; // n1: 所簽的某一組號碼, 第一組區六個號碼中幾個 // n2: 所簽的某一組號碼, 第二組區的號碼有沒有中 // 當玩家所簽的這組完全摃龜 continue; if(n1<2 || (n1<3 && n2!=1)) continue; // 儲存玩家該組的 n1 n2 award_dbase[player]+=({ ({n1,n2}) }); } } 「因為摃龜多」,所以大部份在 if(n1<2 || (n1<3 && n2!=1)) 這裡就會 continue (abort) 掉。 上面跑完就會得到 award_dbase 資料庫。 players=keys(award_dbase); foreach(player in players) { tmps=award_dbase[player]; foreach(sub_tmps in tmps) { n1=sub_tmps[0]; n2=sub_tmps[1]; switch(n1) { case 6: if(n2==1) { 得頭獎; 頭獎人數+1; } else { 得X獎; X獎人數+1; } break; . . } } } 一般我的習慣會用兩段的迴圈,先把 player_dbase 做個 資料前處理(資料過濾),再對留存下來的資料做獎金計算 前提就是「摃龜多」。 分兩段還有一個好處,我的話,有時我會先跑完一段,然 後 call_out 另一個函數隔幾秒後處理另一段。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: laechan 來自: 1.165.164.2 (01/22 23:32)

01/22 23:37, , 1F
其實我只是想賺文章數我想發sex!!!
01/22 23:37, 1F
申請 mud_ky 板比較快唷~ ※ 編輯: laechan 來自: 1.165.164.2 (01/22 23:48)

01/22 23:48, , 2F
if(numbers[6]==sub_tmps[6])這句
01/22 23:48, 2F
這是對第二區(號碼 1~8)的獎號。 ※ 編輯: laechan 來自: 1.165.164.2 (01/23 00:00)

01/23 00:06, , 3F
喔那是威力彩-.-
01/23 00:06, 3F

01/23 10:56, , 4F
要開連署要po文200篇-.-淦
01/23 10:56, 4F

01/23 11:37, , 5F
不一定要你連署,可參考mud_mars模式
01/23 11:37, 5F

01/23 11:40, , 6F
mars也是連署開新版的阿?
01/23 11:40, 6F

01/23 12:07, , 7F
發起連署者並非目前 mars' adm eplis
01/23 12:07, 7F

01/23 12:08, , 8F
Q_Q
01/23 12:08, 8F

01/23 12:38, , 9F
因為我文章數不夠,另請玩家幫發起
01/23 12:38, 9F

01/23 12:52, , 10F
申請好嚴苛..要30個200篇的連署...
01/23 12:52, 10F

01/23 13:19, , 11F
1729篇可不可以當八個人用= =
01/23 13:19, 11F
文章代碼(AID): #1G_gibyg (mud)
討論串 (同標題文章)
文章代碼(AID): #1G_gibyg (mud)