iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
自我挑戰組

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

Day15 進度紀錄: 卡在事件觸發的架構

今天主要時間花在研讀資料,然後身體的倦怠感很重,希望找到突破口

今天看了別人實作 python 事件驅動的範例,大抵上會需要幾個要素:

  • 事件源:產生事件的物件。
    範例中由事件管理器模擬事件發生,一般狀況是其他物件把事件送進事件佇列,在由管理器處理。

  • 事件監聽者:接收、處理事件的物件。
    範例是由管理器把事件送到當初 listener 註冊的 handler進行事件的處理。

  • 事件:可以視為是函數呼叫的封裝資料。
    範例中的格式是 [事件類型, 相關參數]

我發現這樣的架構是單向的,訂閱、發送,在一般 server-client 的網站連線確實是可用的。但連線遊戲的過程存在主被動交錯的狀況,不單純是玩家等遊戲、遊戲也在等玩家。

當回合還沒輪到玩家時,玩家等待遊戲告知回合開始
而輪到玩家回合時,遊戲又要等待玩家完成他的行動

目前有幾個方向,還在思考要用哪個:

  • 純socket,send, recv
  • 統一由遊戲控制流程
  • 統一由玩家主動呼叫API的方式進行 (?)

上一篇
Day14 進度紀錄
下一篇
Day16 構想: socket send/recv
系列文
卡牌遊戲開發日記v202030
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言