iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
1
自我挑戰組

卡牌遊戲開發日記v2020系列 第 11

Day11 實作:系統更新玩家狀態的API

回顧在第九天講到的三個部分:

  • 給玩家使用的API介面
  • 系統接收玩家API呼叫的介面 (今天實作內容)
  • 系統的API實作內容 (初步完成)

系統的API實作內容在昨天的PlayerState 完成,裡面封裝了所有跟玩家有關的資料,然後內部實作了扣血、補血、蓋牌、中光芒…各種陣法造成玩家狀態改變的實作,另外手牌加入卡片、手牌移出卡片、牌庫加入卡片、更新棄牌、展示手牌…這些跟卡牌操作的部份也實作了。

然後因為這是很內部的底層資料,為了保護它,不讓外部直接呼叫,所以用了一個代理人當中介。我把它叫玩家代理人(PlayerAgent),它很像小秘書,拿著玩家給的小紙條去辦事,紙條上只有執行效果(efctID)和點數(val)。透過這一層介面把內部實作和外面呼叫隔開。同時,也把玩家不能知道的牌庫資訊包在裡面,玩家沒辦法透過小秘書拿到機密資料。所以系統接收玩家API呼叫的介面算是在今天完成了。

這個小秘書目前只能處理單一玩家的操作,一旦效果會影響雙方玩家、全場環境時,會需要更上層的小秘書。目前只有五行輪迴會影響到雙方,所以晚點實作沒關係。

程式碼已上傳,裡面也有簡單demo測試。

目前github只是暫時放code,沒有很認真管理分支,下載後執行如果失敗再跟我縮


上一篇
Day10 實作:玩家資料的封裝
下一篇
Day12 補完遊戲架構和流程
系列文
卡牌遊戲開發日記v202030
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言