iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0

Current Sprint: 2. TBD.
repo: https://github.com/side-project-at-SPT/ithome-ironman-2024-san-juan
swagger docs: https://side-project-at-spt.github.io/ithome-ironman-2024-san-juan/

前情提要

完成了 Sprint 1: 可以建立一場遊戲,玩到結束
附帶一些簡化條件:

  • 選完礦工職業後,達到遊戲結束。

今天只聊聊 不寫 code :cana

需要什麼 table

遊戲 games

  1. config 紀錄遊戲的不變資訊
    1. id
    2. seed
    3. name
    4. players 遊戲玩家
    5. version 遊戲版本,(方便選擇不同的規則解讀方式
  2. data 紀錄遊戲的變動資訊
    1. draw_cards (deck) 抽牌堆
    2. discard_cards 棄牌堆
    3. role_cards 可以選擇的職業
    4. rounds
    5. phase
    6. current_player
    7. step (紀錄第幾步)
    8. players
      1. hands
      2. fields (slots)
      3. building
      4. card on it
      5. card(s) under it
      6. selected_role_card
      7. ability 紀錄因為打出的城市建築而獲得的能力 (cache column)
  3. score 紀錄結局數據
  4. 其他...

卡牌 Card (Value Object)

  1. id
  2. name
  3. cost
  4. type
  5. 工廠
  6. 商業建築
  7. 獨特建築
  8. ability

交易板塊 Trade Tile (VO)

  1. id
  2. 染坊_value
  3. 蔗糖廠_value
  4. 菸草廠_value
  5. 咖啡場_value
  6. 煉銀場_value

能力 Ability (Strategy)

  1. card_name
  2. ability
    1. phase
    2. bonus

玩家 Player

  1. id
  2. nickname
  3. color
  4. elo?
  5. avatar
  6. achievement?
  7. is_online?
  8. game_id

使用者 User

  1. id
  2. email
  3. [3rd]_uuid
  4. password digest
  5. token?
  6. games (參加過的遊戲)

遊戲需要回應玩家什麼動作

  1. 選擇職業
  2. 議員行動
    1. 抽牌
    2. 棄牌
  3. 礦工行動
    1. 抽牌
  4. 建築工行動
    1. 支付成本
    2. 建築
  5. 生產行動
    1. 選擇可以生產的工廠
    2. 生產
    3. 其他行動
  6. 交易行動
    1. 選擇要交易的貨物
    2. 交易
    3. 其他行動

小結

done.(?

明天要做什麼

  1. 設計 table?
  2. 設計階段細項實作?

以上不代表明天會做,如有雷同純屬巧合


工商服務

SPT (Side Project Taiwan) 的宗旨是藉由Side Project開發來成就自我,透過持續學習和合作,共同推動技術和專業的發展。我們相信每一個參與者,無論是什麼專業,都能在這個社群中找到屬於自己的成長空間。

歡迎所有對Side Project開發有興趣的人加入我們,可以是有點子來找夥伴,也可以是來尋找有興趣的Side Project加入,邀請大家一同打造一個充滿活力且有意義的技術社群!

Discord頻道連結:https://sideproj.tw/dc


上一篇
Day 08 - 完成 Sprint 1 - 可以建立一場遊戲,玩到結束啦
下一篇
Day 10 - Sprint 2: 實作遊戲開始
系列文
透過實作網頁遊戲練習網站工程師的基本素養,以 San Juan(聖胡安) 為例。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言