首页
/
每日頭條
/
遊戲
/
遊戲設計模式講解
遊戲設計模式講解
更新时间:2025-01-06 15:07:20

經常有人會說,程序員寫代碼要什麼設計模式,随便寫就行,這其實是一種很不好的習慣,就好比蓋房子,不需要設計圖随便蓋就可以,但是想要蓋成高樓大廈,一定要經過嚴謹的設計,不然就容易崩塌。我們采用設計模式來寫代碼,更多的,是為了不坑自己。

遊戲設計模式講解(從遊戲開發一個經典例子)1

今天我們來講一個經典的設計模式,策略模式。

舉個簡單的例子,我們玩RPG遊戲中,玩家都有各式各樣的武器,每個武器攻擊的動畫效果都不一樣,如果我們使用簡單的方式來做,可以寫很多個if或者switch之類的語句,判斷當前的武器是否是斧頭,那麼進行揮砍,判斷當前的武器是否是長槍,那麼刺向敵人,或者是弓箭,進行拉弓操作。并且,有些武器可能還有必殺技,又是一套很多個不同的if語句。

而策略模式,正是為了解決上述問題,策略模式,定義了算法族,并且算法之間可以互相替換。這個設計模式的好處,在于算法的變更獨立于使用算法的人。可能聽起來比較拗口,上述遊戲設計的例子例子中,使用不同的武器,就是不同的算法,如果我們新增一個新的武器,隻要新增新的算法,而去掉一個武器,隻要删除舊的算法。

遊戲設計模式講解(從遊戲開發一個經典例子)2

可能有人會問,這種設計的好處是什麼呢?明明多寫幾個if的事情,為什麼要設計得如此複雜。首先,在遊戲中,除了主角之外,還有很多不同的角色跟怪物,他們也有可能可以使用多種武器,那麼同樣的代碼要出現非常多次,非常的冗餘,而在軟件設計中,代碼冗餘的危害是非常大的,舉個簡單的例子,新增一個武器,就要涉及到非常多處的代碼,稍有不慎,就可能會改漏,帶來故障。

遊戲設計模式講解(從遊戲開發一個經典例子)3

這個是上述例子畫出來的類圖,這種設計模式有什麼好處呢?假如我們新增了一個新的怪物,怪物B,那麼隻要繼承角色這個類,設置他使用的武器,就可以做出攻擊動作了,同樣,假如我們新增一個新的武器,例如機械鍵盤,那麼同樣隻要新建一個機械鍵盤的類,實現武器的接口即可,當我們實現完之後,原有的主角程序員,隻要調用跟換武器為機械鍵盤,便可以使用機械鍵盤去攻擊了!如果我們不适用設計模式,新增一個機械鍵盤作為武器,又要增加多少工作量呢!

總結

作為一個程序員,我覺得對寫代碼應該是有追求的,那樣才能夠稱之為一個合格的工程師,隻有這樣,我們才能夠不停的進步。可能有人會說,這個代碼已經這樣了,沒救了,那是否需要加強思考,找到現有的問題,再下一次設計中去解決呢?提升效率的同時又提高了自己的能力!

好了,今天我們就介紹到這裡,再次祝大家中秋快樂。歡迎大家關注我,共同學習,共同進步。大家的支持是我繼續唠嗑的動力。同名公衆号(沙茶敏碎碎念)

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
出生島電影盛典中擊破氣球一次怎麼完成
出生島電影盛典中擊破氣球一次怎麼完成
出生島電影盛典中擊破氣球一次怎麼完成?進入帶有電音符号的愛心島,找到電音舞台,等綠色氣球刷新直接打就對了,接下來我們就來聊聊關于出生島電影盛典中擊破氣球一次怎麼完成?以下内容大家不妨參考一二希望能幫到您!出生島電影盛典中擊破氣球一次怎麼完成...
2025-01-06
時間都知道演員表
時間都知道演員表
時間都知道演員表?時簡演員唐嫣,葉珈成的妻子,絕對的人生赢家雖然她失去了父母,但有一個既事業有成又十分愛她的老公兩人有車有房還有一個工作室,日子美滿,生活無憂,而且她自己也是妥妥的學霸,今天小編就來說說關于時間都知道演員表?下面更多詳細答案...
2025-01-06
能上榮耀王者的人是什麼樣的人
能上榮耀王者的人是什麼樣的人
當初那個帶你王者榮耀的人,現在還和你一起玩嗎?今天七米小編就給大家詳細聊一下這方面的内容,感興趣的小夥伴快來一起看看吧!我之前是不玩遊戲的,我媽天天給我說不要玩王者啊,她哪個同事的孩子又怎麼沉迷了,哪個朋友孩子不吃飯不睡覺也得玩王者,我就想...
2025-01-06
遊戲開發物語攻略
遊戲開發物語攻略
遊戲開發物語攻略?找一張相性表,一開始選擇兩組好的相性,今天小編就來說說關于遊戲開發物語攻略?下面更多詳細答案一起來看看吧!遊戲開發物語攻略找一張相性表,一開始選擇兩組好的相性。前期屯轉職書,你要玩後期就得練員工,練員工就得大量轉職書。前期...
2025-01-06
王者榮耀三人惡心陣容
王者榮耀三人惡心陣容
哈喽,小夥伴們大家好,這裡是咪莫說。俗話說“樹大招風”,這話真的是一點都不假。作為一款火遍世界各地的開放世界手遊,《原神》可以說是完美地诠釋了這個詞語,因為我們隔三差五總是能在一些論壇社區裡,看到一些關于這款遊戲負面的評論。在這些負面的聲音...
2025-01-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved