目前分類:DesignPattern (10)

瀏覽方式: 標題列表 簡短摘要

前一篇用用了觀察者模式實作事件管理器,但還是有可以改變的部分

前一篇的事件管理結構:

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

事件管理器是什麼:

這邊用遊戲做例子,事件管理器主要就是管理玩家可能因為遊戲機制而觸發的預設事件,假設玩家死亡這件事已經被列為一個事件在事件管理器內做管理,那當玩家死亡事件觸發後,就會把死亡事件由事件管理器去通知可能播放死亡音效、顯示死亡UI、抑或是自動調整遊戲難度等等,而我們就是利用設計模式裡的觀察者模式去進行實作,不知道觀察者模式的可以點連結回去查看   觀察者模式

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

以角色生成為例,對於各種類的角色生成,一般做法是在生成系統類別實作各種角色生成的方法,但是這種作法重複性高。此外,將產生相同類別的實作,分散在不同的遊戲功能之下,也比較不容易管理

可以用「工廠方法模式」解決

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

當我們到了一間餐廳,我們在點餐的時候,服務生會把餐點的內容記在點餐單上面,這張點餐單會跟著其他客人的點餐單一起送入廚房的待作列表上。然後廚師會依據先到先做的原則,把點餐單上的內容,把餐點一個個做出來,然後等很久的客人也可以選擇不等了。

咦?不是在說設計模式嗎?   是的,沒看錯,已經把命令模式的架構講完了

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

講完備忘錄模式,接下來實作存讀檔

測試結果:

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

※讓有紀錄保存需求的類別,自行產生要保存的資料,外界完全不用瞭解這些紀錄被產生的過程及來源。也讓類別自己從之前的保存資料找回資訊,自行重設類別狀態

下面是用備忘錄模式+Json做的存檔選單,先來看看備忘錄模式的UML的關係吧

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

遊戲只有一個場景在執行,所以可以讓每個場景有一個「場景類別」來負責維護<狀態擁有者>

範例場景規劃

Kouhei 發表在 痞客邦 留言(0) 人氣()

State狀態模式

我們在做切換狀態的時候,一般都是使用Switch做切換

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

觀察者模式是甚麼?

用兩個常用的例子解釋:

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()

Singleton是甚麼

遊戲實作中的唯一物件,地球是唯一的,太陽是唯一的...

文章標籤

Kouhei 發表在 痞客邦 留言(0) 人氣()