iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Modern Web

連線網頁卡牌遊戲(Elixir, Phoenix, Liveview) 系列

來做一個連線一對一的簡單網頁卡牌遊戲

從設計遊戲,設定開發環境,到開發。

使用 Elixir, Phoenix, Liveview 與 Tailwind

鐵人鍊成 | 共 32 篇文章 | 7 人訂閱 訂閱系列文 RSS系列文
DAY 1

1 先設計遊戲吧

回過頭來編輯的我:遊戲在 30 天時順利做出來也部署了,可以先試試看我在第31天的心得有最後的遊戲規則與網址https://ithelp.ithome.com....

2021-09-15 ‧ 由 韋政 分享
DAY 2

2 遊戲規則

所以到底是要做怎樣 昨天列出了一些還在考慮的點,做了一些粗暴的決定: Q: 要讓這個遊戲可以用桌遊的方式呈現嗎?還是要利用平台是電腦 可以做一些桌遊無法呈現的遊...

2021-09-16 ‧ 由 韋政 分享
DAY 3

3 所以要長怎樣?

聊一下更新畫面這回事 自己以前的經驗,我在出一張牌的時候,都是從前端通知後端說出了牌,更新完伺服器端的狀態,同時也用 javascript 在前端更新畫面上的狀...

2021-09-17 ‧ 由 韋政 分享
DAY 4

4 遊戲狀態結構

上次我們講到,伺服器上的遊戲狀態會直接反應出遊戲的畫面。而我們也需要隨著遊戲進行,依照動作與遊戲規則來改變遊戲狀態。看起來我們要先把這個遊戲狀態的結構固定好。...

2021-09-18 ‧ 由 韋政 分享
DAY 5

5 開始把結構寫成程式吧!

昨天我們使用這兩個 struct 來代表整個遊戲的狀態,那我們今天就實際的來定義他們 在開始之前 在開始之前,我來快速講一下 struct 是什麼:在開始講 s...

2021-09-19 ‧ 由 韋政 分享
DAY 6

6 用 GenServer 做 server?

GenServer 跟我們遊戲有什麼關西? 我來試試看直接套用我們的場景來解釋 GenServer 怎麼使用好了,如果想要讀的話可以看 elixir 文件裡的...

2021-09-20 ‧ 由 韋政 分享
DAY 7

7 重做 Game struct 與 出牌方法

昨天的進度 defmodule Game do defstruct rounds: [], host_hand: [], guest_hand: [], r...

2021-09-21 ‧ 由 韋政 分享
DAY 8

8 稍微重構一下下,一點就好

昨天我們按照要改動的事項一個一個的做了出牌的方法今天來調整一下 def play_card(pid, :host, card) do GenServ...

2021-09-22 ‧ 由 韋政 分享
DAY 9

9 結束這回合

今天我們可能可以來做一下回合,畢竟要算分數還是幹嘛都是建立在回和上面。 目前我們的 game struct 長這樣,已經有預留 round 跟 turn %Ga...

2021-09-23 ‧ 由 韋政 分享
DAY 10

10 有局數就可以打分數

昨天做到雙方都出卡後,增加 turn 數現在在做 每到 3 turn 換一局 round + 1 昨天做到這邊 def handle_cast({:play...

2021-09-24 ‧ 由 韋政 分享