各位好
最近在製作一個小遊戲,主要的功能都已經完成了
目前卡在階段結算的部份
遊戲有四個階段,每個階段結算後才會到下一個階段,第四階段結束後會回到第一階段
如此直到遊戲結束
(類似大老二或大富翁那樣所有玩家這輪都有做事或跳過後才會到下一輪直到遊戲結束)
想請問這種情況會怎麼設計程式的架構?
原本是想說使用物件(目前已經有玩家跟整個遊戲整體的物件)
設計一個具有四個階段的物件,當每一輪開始就建立新物件,本輪結束後就建立新物件並放入上一輪結束後的玩家跟遊戲本體,舊的物件就垃圾回收掉
這樣每輪之間過程就會一致,並且不會互相干擾,只有遊戲狀態跟玩家狀態會延續到下一輪
或是使用queue,pop出來的物件立刻清空並push進原本的queue內
只是在想是不是有更好的資料結構可以使用
如果有其他需要補充的資訊請不吝提出
感謝各位
其實如果是遊戲設計上。
並不會像你說真所有的東西都放在一個物件的模式。
如果依你的例子。我會先區分
「用戶」「地圖」「行為」基本的三種出來。
「行為」這個容器,就是來建立你所謂的回合制動作行為。
「用戶」則是單純存用戶的資料
「地圖」則是記錄目前地圖上所有的資料。
由「行為」來決定觸發目前哪一個「用戶」,並將其資料記錄到「地圖」
由於「行為」為單一獨立運行庫,「用戶」「地圖」為搭配元件。
並不需要有所謂生成新物件的方式。
其實你可以去找找一些私服來玩玩。以上的觀念都是我從玩私服學過來的。
它是將對應的容器各別分開。只做事件觸發處理應用。