iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
SideProject30

placeholder系列 第 15

30天打造線上多人桌遊網站-Day 15-找出第一版的 happy path

  • 分享至 

  • xImage
  •  

0. 前情提要

  1. Model 已經在 Day10 設計過一次了,今天要想一下資料如何放進資料庫。

class

1. 有識別性的資料

  1. 遊戲(房間)
    • uuid: string
    • 遊戲房間名稱: string
    • 參加的玩家: many to many
    • 遊戲狀態: json
  2. 玩家
    • uuid: string
    • name: string
    • 參加的遊戲: many to many

2. 遊戲狀態

遊戲狀態會從 遊戲(db record) -> 遊戲狀態(json) parse 成物件,再根據規則來執行。

而遊戲狀態會根據 事件 發生改變:

  1. 玩家選擇房間設定(skip)
  2. 玩家建立房間
  3. 玩家加入房間
  4. 玩家離開房間
  5. 玩家開始遊戲
  6. 系統配置遊戲
  7. 告知目前玩家是誰
  8. 玩家採取行動
  9. 系統結算行動
  10. 遊戲未結束 --> 7
  11. 遊戲結束

3. 第一次 happy path

第一次的遊戲流程可以是

  1. 玩家A建立房間
  2. 玩家B加入房間
  3. 玩家A開始遊戲
  4. 系統 -> 配置遊戲
  5. 系統 -> 輪到玩家A
  6. 玩家A打牌 -> 失敗
  7. 系統 -> 增加防火標記
  8. 系統 -> 輪到玩家B
  9. 玩家B打牌 -> 失敗
  10. 系統 -> 增加防火標記
  11. 系統 -> 輪到玩家A
  12. 玩家A打牌 -> 失敗
  13. 系統 -> 增加防火標記
  14. 系統 -> 遊戲結束

然後需要做的事情:

建立遊戲的 ActiveRecord Model

接收玩家行動事件

處理事件

更新狀態

廣播結果

大概是這樣


上一篇
30天打造線上多人桌遊網站-Day 14-遊戲進度保存
下一篇
30天打造線上多人桌遊網站-Day 16-玩家建立,加入房間
系列文
placeholder20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言