欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

王者榮耀是怎么開發(fā)的

阮建安2年前18瀏覽0評論

王者榮耀是怎么開發(fā)的?

那我們先來由淺入深的了解一下游戲背后的設(shè)計模式

游戲開始的時候 10名玩家組成,5名玩家對抗領(lǐng)5名玩家的對戰(zhàn)游戲,每一名玩家都可選擇一名英雄來參與戰(zhàn)斗

游戲剛開始時,自己所選擇英雄與團隊都會出現(xiàn)在自己的基地,為雙方互相推塔游戲,哪一方的水晶被摧毀了就代表游戲失敗

英雄的設(shè)計中中是有許多共性的內(nèi)容的,首先抽取出來,英雄類包含普通攻擊的方式與功能,所使用技能的攻擊方式

對于英雄來說一定要具備技能,這么多的技能一定不是固定的,所以我們以技能的功能以接口的方式抽取出來,召喚師技能的某一種技能以類的方式封裝好,每一種技能和接口之間就實現(xiàn)了關(guān)系(詳見視頻教程)

關(guān)于策略模式,官方給出的定義如下。

策略模式將可變的部分從程序中抽象出來分離成算法接口,在該接口下分別封裝一系列算法實現(xiàn)。

這其中的設(shè)計原則有: 1.找出應(yīng)用中需要變化的部分,把他們獨立出來做成算法接口。(我們是把每個英雄的召喚師技能做成了算法接口,局內(nèi)道具也是可以這樣做的) 2.面向接口編程,而不是面向?qū)崿F(xiàn)。(我們在使用召喚師策略接口時,并不知道它以后還會有什么樣的召喚師技能) 3.多用組合,少用繼承。(一個完整的英雄,是用具體的接口對象組合而成的,或者說各種接口小對象組合成了一個英雄對象)

策略模式的優(yōu)點

1. 使用了組合,而不單單是繼承,使得架構(gòu)更靈活。

2. 富有彈性,可以較好的應(yīng)對未來的變化。(開-閉原則)

3. 更好的代碼復(fù)用性。(相對于繼承)

策略模式的缺點

1. 增加了對象的數(shù)目(每個接口都做成了一個對象,對象數(shù)目是不是增多了)

關(guān)于單例模式,官方給出的定義如下。

Java中單例模式定義:“一個類有且僅有一個實例,并且自行實例化向整個系統(tǒng)提供。”這其中的設(shè)計原則有: 1. 單例模式的類只提供私有的構(gòu)造函數(shù),

2. 類定義中含有一個該類的靜態(tài)私有對象,

3. 該類提供了一個靜態(tài)的公有的函數(shù)用于創(chuàng)建或獲取它本身的靜態(tài)私有對象。

單例模式的優(yōu)點

1. 實例控制,單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。

2. 靈活性,因為類控制了實例化過程,所以類可以靈活更改實例化過程。

單例模式的缺點

1. 開銷,雖然數(shù)量很少,但如果每次對象請求引用時都要檢查是否存在類的實例,將仍然需要一些開銷。可以通過使用靜態(tài)初始化解決此問題。

2. 可能的開發(fā)混淆,使用單例對象(尤其在類庫中定義的對象)時,開發(fā)人員必須記住自己不能使用new關(guān)鍵字實例化對象。因為可能無法訪問庫源代碼,因此應(yīng)用程序開發(fā)人員可能會意外發(fā)現(xiàn)自己無法直接實例化此類。

指數(shù) java,王者榮耀是怎么開發(fā)的