999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

設計模式在游戲框架設計中的應用

2011-06-13 06:36:38
科技傳播 2011年20期
關鍵詞:程序游戲方法

張 潔

成都東軟學院,四川成都 611844

設計模式在游戲框架設計中的應用

張 潔

成都東軟學院,四川成都 611844

設計模式在軟件設計中起著非常重要的作用,使用設計模式可以提高軟件的可維護性和復用性。模板方法模式是設計模式中常用的一種模式,本文應用該模式設計了一個Windows游戲程序框架,可在不同的視頻游戲程序中使用。

設計模式;模板方法模式;Windows游戲;框架

0 引言

“模式”這個詞來源于克里斯托夫·亞歷山大的《模式語言》(A pattern Language)一書,書中提到:“每一個模式描述了一個在我們周圍不斷重復發生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重復勞動”。后來,“模式”一詞被引入到計算機科學領域,成為軟件設計者一直在追求的普遍性原則。設計模式并不是直接用來完成代碼的編寫,而是描述在各種不同的情況下,要怎么解決問題的一種方案。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。面向對象設計離不開設計模式,游戲開發自然也離不開設計模式。本文應用設計模式中的模板方法模式為不同的Windows視頻游戲搭建了一個可復用的框架。

1 模板方法模式介紹

模板方法模式是《設計模式:可復用面向對象軟件的基礎》一書中描述的23種設計模式中的其中一種,也是最常見的幾種模式之一。它在框架設計中得到了廣泛的應用。通常我們會遇到這樣一個問題:我們知道一個算法所需的關鍵步驟,并確定了這些步驟的執行順序。但是某些步驟的具體實現是未知的,或者說某些步驟的實現與具體的環境相關。模板方法模式把我們不知道具體實現的步驟封裝成抽象方法,提供一個按正確順序調用它們的具體方法,構成一個抽象基類。子類通過繼承這個抽象基類去實現各個步驟的抽象方法,而工作流程卻由父類控制。換句話說,模板方法模式是定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。

2 Windows游戲程序框架設計

要設計一個可以重復使用的Windows游戲程序框架,首先要分析出在游戲程序中哪些操作是穩定的,哪些是變化的。然后用父類封裝穩定的算法步驟和框架,而由子類封裝可能發生變化的細節,這也正是模板方法模式的精髓。

一款Windows視頻游戲程序通常應該遵循三大步驟:

1)初始化系統,準備游戲數據;

2)開始游戲循環:判定狀態,并對當前狀態進行處理,處理過程包括獲取輸入、計算并更新數據以及輸出;

3)清理數據,釋放系統。

也就是說,所有的Windows視頻游戲程序的操作過程都是確定的,但是,在這個過程中,某些步驟的具體實現是不確定的。對于不同的游戲,需要初始化的數據不同,在循環中處理輸入、更新游戲數據的方式也不同,最后要清除的數據也不同。那么,我們就可以將一個Windows游戲程序中固定的算法骨架放在父類中,而將那些隨游戲變化而變化的步驟延遲到子類中再實現。

在具體的程序設計過程中,我們可以定義一個框架類,假設將其命名為CApplication。在該框架類中主要包括以下幾個關鍵函數:定義游戲程序框架的函數Run(),初始化函數Init()、幀處理函數Frame()和清理函數Shutdown()。Run()函數部分關鍵代碼如下所示:

在上述代碼中,MyRegisterClass()和InitInstance()是每一個Windows應用程序必須要實現的功能,因此,將它們封裝在框架類中。而Init()、Frame()和Shutdown()這3個函數則根據游戲的不同而不同,因此,在框架類中可以將這3個函數定義為純虛函數,它們的具體實現則延遲到子類中。通過這種方式,我們就達到了利用模板方法模式搭建游戲程序框架的目的。

3 結論

本文采用模板方法模式搭建了一個程序框架,該框架可用于開發不同的Windows視頻游戲,減少了游戲程序設計中的重復性工作。

[1]Erich Gamm, Richard Helm, Ralph Johnson, John Vlissides著.設計模式:可復用面向對象軟件的基礎.機械工業出版社,2000,6.

[2][美]Jim Adams著.DirectX角色扮演游戲編程.黃際洲,劉剛譯.重慶大學出版社,2006,2.

[3]程杰.大話設計模式.清華大學出版社,2007,12.

[4][美]Robert C. Martin著.敏捷軟件開發:原則、模式與實踐.鄧輝,譯.清華大學出版社,2003,9.

TP31

A

1674-6708(2011)53-0171-01

張潔,助教,研究方向:圖形圖像處理,游戲程序設計

猜你喜歡
程序游戲方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 国产无码制服丝袜| 中文字幕1区2区| 91成人在线观看视频| 亚洲娇小与黑人巨大交| 91在线中文| 日韩免费成人| 美女扒开下面流白浆在线试听| 尤物成AV人片在线观看| 亚洲国产AV无码综合原创| 国产成人一区免费观看| 国产福利在线免费观看| 91精品视频播放| 五月天婷婷网亚洲综合在线| 五月天综合网亚洲综合天堂网| 一本大道AV人久久综合| 女人18毛片一级毛片在线 | 欧美综合区自拍亚洲综合绿色| 亚洲综合色区在线播放2019| 欧美成人午夜在线全部免费| 美女被躁出白浆视频播放| 玖玖精品在线| 91福利在线看| 91在线无码精品秘九色APP| 精品国产自在在线在线观看| 亚洲日韩国产精品无码专区| 一区二区三区国产精品视频| 国产精品综合色区在线观看| 99精品高清在线播放| 高h视频在线| 九九九精品视频| 奇米精品一区二区三区在线观看| 99国产精品免费观看视频| 中文字幕丝袜一区二区| 亚洲人成网址| 欧美人在线一区二区三区| 夜夜操国产| 直接黄91麻豆网站| 国产黄色免费看| 亚洲综合精品香蕉久久网| 国产免费黄| 国产成人亚洲无码淙合青草| 自拍中文字幕| 性网站在线观看| 国产Av无码精品色午夜| 国产jizz| 尤物亚洲最大AV无码网站| 色综合婷婷| 欧美另类精品一区二区三区| 国内精自视频品线一二区| 亚洲精品麻豆| 欧美日韩国产系列在线观看| 成人在线天堂| 国内自拍久第一页| 99久久精品美女高潮喷水| 老司机aⅴ在线精品导航| 久久综合丝袜长腿丝袜| 72种姿势欧美久久久久大黄蕉| 91在线播放国产| 国产黄在线免费观看| 日韩在线中文| 亚洲色精品国产一区二区三区| 免费激情网站| 国产成人综合在线视频| 四虎在线观看视频高清无码| 亚洲成a人片| 久久免费视频6| 亚洲无线观看| 亚洲综合一区国产精品| 日本免费一区视频| 92午夜福利影院一区二区三区| 成人亚洲国产| 国产第一福利影院| 久久天天躁夜夜躁狠狠| 日本国产在线| 全部免费毛片免费播放| 激情無極限的亚洲一区免费| 国产美女无遮挡免费视频| 国产高清免费午夜在线视频| 国产成人免费手机在线观看视频| 国产精品三级av及在线观看| 99无码熟妇丰满人妻啪啪| 香蕉久久国产超碰青草|