亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        張 潔

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

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

        張 潔

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

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

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

        0 引言

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

        1 模板方法模式介紹

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

        2 Windows游戲程序框架設計

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

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

        1)初始化系統(tǒng),準備游戲數(shù)據(jù);

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

        3)清理數(shù)據(jù),釋放系統(tǒng)。

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

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

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

        3 結論

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

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

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

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

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

        TP31

        A

        1674-6708(2011)53-0171-01

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

        猜你喜歡
        程序游戲方法
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        可能是方法不對
        數(shù)獨游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        爆笑游戲
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        創(chuàng)衛(wèi)暗訪程序有待改進
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        欧美日本日韩aⅴ在线视频| av日韩一区二区三区四区| 午夜精品久久久久久久无码| 越猛烈欧美xx00动态图| 观看在线人视频| 丰满少妇高潮惨叫正在播放 | 亚洲av综合日韩精品久久| 国产精品无码一区二区三级| 丰满人妻av无码一区二区三区| 无码一区久久久久久久绯色AV| 日本免费三片在线播放| 国产情侣一区二区三区| 夜夜未满十八勿进的爽爽影院| 国产91吞精一区二区三区| 一区二区三区手机看片日本韩国| 日韩午夜理论免费tv影院| 无码人妻精一区二区三区| 无码人妻精品一区二区三区下载| 亚洲蜜臀av一区二区三区漫画| 色与欲影视天天看综合网| 1000部夫妻午夜免费| 亚洲成精品动漫久久精久| 91精品国产九色综合久久香蕉 | 91亚洲国产成人精品一区.| 无码欧美毛片一区二区三| 久草视频国产| 国产三级在线观看高清| 中国一级特黄真人片久久| 老子影院午夜精品无码| 日韩在线不卡一区在线观看| 你懂的视频在线看播放| 人妻 日韩 欧美 综合 制服| 亚洲色图视频在线| 国产一区二区三区日韩精品| 亚洲夫妻性生活免费视频 | 欧美成aⅴ人高清免费| 少妇久久高潮不断免费视频| 国产18禁黄网站免费观看| 日日碰狠狠躁久久躁| 中文字幕人妻系列一区尤物视频| 国产自拍在线观看视频|