建立遊戲:
按下 "Start a game" 後,下面有 "Copy to clipboard" 按鈕可以複製連結,
再貼給朋友(如果你跟我一樣沒有朋友,可以開兩個分頁玩)
雙方都按 "Yes" 後遊戲開始
規則:
每場遊戲有三回合,三戰兩勝
每回合出三張卡,三張卡點數加起來大的贏該回合,
Rev(reverse)卡是把該局獲勝條件相反,可以疊加
(這回合雙方加起來有一張 Rev 就變成點數小的贏, 2張抵銷又變回大的贏,3張又變小的贏)
是心機遊戲,加上語音通話,或是現場玩更好
原始碼在這
https://github.com/weizhengliu/card
還好有參加這次鐵人賽,讓我從自以為懂 GenServer 與 liveview 到現在有比較知道自己在幹嘛 XD。雖然現在覺得我寫的架構還是怪怪的,但我覺得經過這 30 天的高強度特訓,我對 elixir 的手感與理解提升非常多。
不知道是不是寫遊戲的關係,整個過程雖然中間一直卡住,但是還是寫得很開心,會一直拿去秀給朋友看進度。可能這幾年桌遊很流行,朋友的回饋一直的還不錯,也幫我發現很多邏輯錯誤與提出新想法。雖然完賽了,但我還會持續更新遊戲。這個遊戲出乎意料的好玩,之後可能可以加單人模式或教學模式。
之前雖然知道 elixir 在這方面很優秀,但是我這次是實際的被 elixir 的開發效率與超好寫的 Actor concurrent 驚艷到。可能有點回不去了。
沒有定好目標讀者:在寫文章的過程中,我常常發現我在糾結要不要解釋某段語法,結果變成有時候解釋很簡單的東西,有時候卻略過算是進階的寫法。
覺得想要研究一下比較好的 OTP 架構是怎麼寫的,這次遊戲跟網頁沒有完全分離讓我覺得滿煩的。可能要繼續讀完看到一半的 Elixir in Action.
雖然覺得寫測試可能在30天內寫不完,但是我後面修 bug 修到想撞牆。我開始覺得如果遊戲核心的部分用 TDD 的話甚至可以省一些時間。這也是接下來想優先做的事情。
在這邊要感謝被我每天煩著試玩的親朋好友們,
也要感謝 taiansu,上班被我問上班的 elixir ,下班也被我問下班的 elixir 哈哈。
最後是點進來看文章的朋友,知道有人在看真的讓我很有動力繼續寫。
謝謝大家