設計模式在遊戲中的應用 模板方法(七)

2021-07-04 11:44:35 字數 800 閱讀 2930

模板方法這個名字看著很陌生,其實在遊戲中大量地使用了模板方法,因為遊戲中存在玩家、npc和靜態物體等不同的物件,使用多型特性能很好地進行區分。 

模板方法的定義是:模板方法模式:在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟。

舉個最簡單的玩家和npc死亡時的邏輯:

流程圖如下:

**如下

// mvc.cpp : 定義控制台應用程式的入口點。

模板方法的優點是將共性在父類中實現,將差異化在不同的子類中實現。

設計模式在遊戲中的應用 工廠方法(五)

概述 工廠方法 factory method 模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新...

設計模式在遊戲中的應用 簡單工廠模式(一)

自己作為乙個剛畢業的菜鳥,有幸能夠和牛人們一起工作很開心。當時策劃提出乙個需求,需要針對每個職業進行不同的能量恢復。我當時接到這個需求,心中暗喜,這還不簡單,把每個職業的恢復率放到乙個陣列裡面,然後接著各種if.else.當時還為這種能在陣列裡面直接修改資料,讓資料和邏輯分離開來感到開心。接著策劃提...

設計模式在遊戲中的應用 建造者模式(九)

建造者模式 builder pattern 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。建造者模式是一種物件建立型模式。通過這個定義,我們可以得出建造者是一種建立型模式,也就是說建造者模式的輸出是乙個物件,也就是uml類圖中的product。我們先看看建造者模式的uml...