iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Modern Web

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

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

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

使用 Elixir, Phoenix, Liveview 與 Tailwind

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

1 先設計遊戲吧

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

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 是什麼: 在開始講...

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 GenSer...

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({:pla...

2021-09-24 ‧ 由 韋政 分享