古有《月令》仲秋養衰老,授几杖,行糜粥。後有八月十五作節中秋也。夫前人之中秋,賞月、團員、喫月餅、食柚子,後人至今亦行斯,乃中秋之民俗也。今諸地亦有各各慶中秋之民俗,譬如閩東諸地有燒塔、閩南諸地有博餅。夫燒塔者,磚瓦建塔,而後焚之,以表除舊布新,圓圓滿滿之意也。博餅者,博月餅,洪旭初作之,以釋愁緒,振士氣也。而今,燒塔乃閩東人之中秋民俗也。博餅乃閩南人之玩物也,尚有一詩《賭月餅》曰「六子齊投任變翻,街頭巷尾笑言喧。科名久已遭人唾,猶集群兒搶狀元。」博者唯圖一樂也。
夫博餅,博科名也,科名乃得月餅,夫科名,乃狀元、榜眼、探花、進士、舉人、秀才也。餅數六十三,乃郡王之數也。夫博法,簡也,擲六骰以博科名,科名以得餅也。六骰有一為四者,乃秀才,其數三十二人,六骰有二為四者,乃舉人,其數十六人,六骰有四相同者,乃進士,其數八人,注曰:「六骰有四為四者則非進士。」,六骰有三為四者,乃探花,其數四人,六骰皆不同者,乃榜眼,其數二人。凡六十二人,悉數分之,後博狀元,凡六骰有四為四者或六骰有五相同者得,唯一人也,得者勝。若六骰盡相同者,亦勝也。
今從簡作之,六骰有一為四者,乃秀才,六骰有二為四者,乃舉人,六骰有四相同者,乃進士,六骰有三為四者,乃探花,六骰皆不同者,乃榜眼,六骰有四為四者或六骰有五相同者,乃狀元也,六骰盡相同者亦狀元。六骰者,以列表也,骰子,以渾沌經之畛取整數骰也。畛取整數者,random.randint()
也,唯取畛域之一整數也。譬如六面骰,乃一至六,曰random.randint(1, 6)
,取其中之一數也。別科名以術法,術法內以決策,乃出科名也。程式書如是:
import random
玩者 = [random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6)]
機器 = [random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6),random.randint(1, 6)]
def 別科名(骰者):
一者 = 0
二者 = 0
三者 = 0
四者 = 0
五者 = 0
六者 = 0
for x in 骰者:
match x:
case 1:
一者+=1
case 2:
二者+=1
case 3:
三者+=1
case 4:
四者+=1
case 5:
五者+=1
case 6:
六者+=1
骰數列 = [一者, 二者, 三者, 四者, 五者, 六者]
if 一者>=5 or 二者>=5 or 三者>=5 or 五者>=5 or 六者 >=5 or 四者 >= 4:
return '狀元'
if 骰數列 == [1, 1, 1, 1, 1, 1]:
return '榜眼'
if 四者 == 3:
return '探花'
if 一者|二者|三者|五者|六者 ==4:
return '進士'
if 四者 == 2:
return '舉人'
if 四者 == 1:
return '秀才'
else:
return '不中'
print('玩者所骰', end='')
for x in 玩者:
print(f'{x} ', end='')
print('也')
print('機器所骰', end='')
for x in 機器:
print(f'{x} ', end='')
print('也')
print(f'玩者{別科名(玩者)}也,機器{別科名(機器)}也。')
試之,玩者骰五、四、四、五、五、五,有四數相同,乃得進士也。機器骰五、六、二、三、三、五,皆無符合,乃不中也。
玩者所骰5 4 4 5 5 5 也
機器所骰5 6 2 3 3 5 也
玩者進士也,機器不中也。