翻撲克牌
簡單粗暴,上一輪喝酒的玩家(成為last one吧,下同)翻一張牌,然後從自己開始數點數,數到誰就誰喝。毫無技術可言,完全靠運氣,只不過人數不同,每個人的概率可能不一樣罷了。
成語接龍
這個也很簡單的,大家都會,誰接不上來或者在一局中重複了之前說過的成語,那麼就得喝酒一杯了。這個似乎靠的是語文的積累,似乎跟程式設計師沒有什麼關係,好吧,沒有問題那就製造問題。比如說,不能重複在一局中說過的成語,怎麼檢查嗎,是判斷單鏈表是否有環嗎?好像也不是,畢竟乙個成語可以有多個後繼的成語(出度)。
三七二十一
這個看起來簡單,實踐起來還是有點麻煩。就是last one隨便說乙個比較小的整數,這個數不能是3或者7的倍數。之後按順序,每個人說出大於且最接近上乙個整數的數字,同時也不能是3或者7的倍數。如果說出的數字不是符合條件,那麼就罰酒了,如果既是3的倍數也是7的倍數,那麼就double! 寫乙個公式是不是表達得清楚一點
an+1 = min(number for number > an and (number % 3 !=0 and number % 7 !=0))不過呢,這個需要高度的注意力(監督其他玩家)和運算能力,對已經處於微醺的玩家來說太不友好
夾逼定理
這個玩法跟數學中的夾逼定理沒有關係,玩法是這樣的,last one出乙個數字,在0到100之間(0用python**描述這個過程,大致是這樣的;
1defmain():
2 lower, upper = 0, 100 #
range is (lower, upper), exclusive
3 init = random.randint(lower+1, upper-1)
4print
"init value is
", init
5while
(true):
6print
"current_range: (%s, %s)
" %(lower, upper)
7if lower + 1 == init and upper - 1 ==init:
8print ("
master lose")
9break
10 num = int(raw_input("
current guess: "))
11if (num == init) or
not(lower < num 12print ("
current lose")
13break
14if num >init:
15 upper =num
16else
:17 lower =num
1819
if__name__ == '
__main__':
20 main()
在《數學之美番外篇:快排為什麼那樣快》一文中,作者用更樸素的思想解釋了為什麼用二分法能夠最快的收斂。那麼為了夾住「莊家」,大家也會盡量用二分,但有趣的是,莊家可能直接出個50(n的二分之一)!那麼猥瑣流可能害怕中了莊家的圈套,就猜乙個1或者99。這個玩法還是很有趣的,第一,對微醺者比較公平;第二,節奏不會很快;第三,謀略與運氣共存。
卡牌
最後乙個,是筆者看《程式設計師喝酒解釋專業術語》這篇文章想到了,感覺很有意思,於是在原文的描述上做了適當修改,使得可玩性 可操作性更強.
目前想到的卡牌包括:p2p tcp 伺服器 事務 互斥鎖。首先,每乙個玩家對應乙個點數,保證玩家的概率是一樣的。每一輪開始,擲骰子,對應的玩家摸卡,不同的卡,後續的操作可能不一樣。如果需要概率,則一律扔骰子判斷。下面列出卡牌對應的後續操作:
謹以此文懷念曾經一起大塊吃肉、大口喝酒的朋友與時光。
程式設計師畢業五年那些事兒
最近到處都在熱議某公司程式設計師跳樓事件,回想我從12年7月份畢業到現在已經做了整整的五年多的程式設計師了,其中,程式設計師的焦慮卻一直沒有消失過。第乙份工作 11年9月初,和千千萬萬畢業生一樣開始奔波於各大高校的校園招聘,大學四年參加了各類電子競賽,立志於畢業後從事硬體開發相關工作,自然參加校園招...
程式設計師那些事 程式設計師的迷茫?!
程式設計師從來不迷茫,迷茫的是為啥一直是程式設計師!對於乙個工作多年的程式設計師來說,自己想的是工作這麼多年,理應手到擒來,沒想到年紀越大,要學的東西越多,新東西天天有,學的學的,自己就疲乏了。有時候想做管理,徹底告別這種勞碌,可是自己明白,管理也不是這麼好幹的,沒有幾分管理經驗,怎麼幹管理呢?面試...
程式設計師的那些門檻!
第二階段 五年 五年又是區分程式設計師的第二個門檻。有些人在三年裡,除了完成工作,在空餘時間基本不會研究別的東西,這些人永遠就是個coder,年紀大一些勢必被 更年輕的人給頂替 有些人在三年裡,除了寫 之外,還熱衷於研究各種技術實現細節 看了n多好書 寫一些部落格 在github上分享技術,這些人在...