• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            zyzx的小窩

            C/C++,GUI,個人移動存儲,zyzx_lsl@163.com

             

            N(4) 雙緩存與臟矩形:記偶的貪吃蛇游戲實現

            tag:C,雙緩存,臟矩形,Win32,API

            /* Create by zyzx
            * Created 2008-07-02
            * Modified 2008-07-03
            */

            ?????? 翻開學生時代的作品,真是百味俱全啊。在追求編程真諦的道路上,迷茫過,痛苦過,也興奮過,至今也持續這些感覺,可惜不再那么的強烈。
            ?????? 看了看大二那會做的東東:貪吃蛇游戲,感覺就像小孩子過家家純粹好玩。雖然編程手法上,就那個樣,但它確實令我撥開了編程的面紗。又看了大一那會也做的個玩意(用VB做的),終于知道囧字咋寫的了,顯示一個物體用一個PictureBox框,結果屏幕上N多PictureBox框框,程序沒多大,卻卡得不行,呵呵。

            ?????? 貪吃蛇的基本思路:用一個循環鏈表(可增減)記錄蛇,標記蛇頭、蛇尾。蛇的移動,對于程序內部來說,只是蛇頭和蛇尾的標記發生變化。碰撞檢查,也就是檢查蛇頭將前行的一個位置,是否在蛇本身或出界或不可通過點。用一個二維數組標記不可通過點。
            ?????? UI表現:準備一個畫布(與HDC相兼容的DC或是Image等),首先繪制背景,然后繪制遮擋物體(不可通過點),最后繪制貪吃蛇。完成繪制后將畫布復制粘貼到屏幕上。這就是雙緩存思想了,可嘆咱剛開始為解決屏幕閃爍問題苦苦思索了幾個星期。當時咱壓根不知道網上有這多知識可以查到,寢室聯個網,除了上門戶網站就是打游戲了,呵呵。
            ?????? 這里如果要再提高幀速率,還可以使用“臟矩形”,原理即:由于畫面后一張與前面一張只有某些部分變化,因此只需要更新這些部分即可。典型的如Window的窗口系統就是使用的“臟矩形”技術局部更新。
            ?????? 用戶操作:玩家使用上下左右箭頭控制,這里使用的是定時器控制幀率。比如每隔N毫秒檢查一次方向鍵盤的狀態,確定移動方向,判斷能否移動。。。
            ?????? 此處由于做的東西比較小,耗時不是很多,所以沒有碰到幀率過快或過慢而影響控制的問題。實際的大型游戲中,這里可是比較關鍵的部分啊,搞得不好就像曾經“傳奇”的加速外掛那樣,一秒種內砍幾千下,呵呵。。

            ??????? 整個程序文件如下:一個頭文件和一個實現文件。

            ??????? 程序是基于Win32的API編程的,所以使用了Window的編程模板。按鈕繪圖動畫等等都是直接使用Win32的API實現。

            tanchishe.h
            Tanchishe_H.png

            tanchishe.cpp
            Tanchishe_A_CPP.png
            Tanchishe_B_CPP.png

            如下是第6關的效果(尺寸沒調好)
            TanchesheTest.png

            posted on 2009-04-27 17:10 zyzx 閱讀(1420) 評論(1)  編輯 收藏 引用 所屬分類: C/C++體會

            評論

            # re: N(4) 雙緩存與臟矩形:記偶的貪吃蛇游戲實現[未登錄] 2012-08-09 11:50 路人甲

            學習了  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            常用鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久99精品国产一区二区三区| 久久亚洲精品国产亚洲老地址| 国产精品久久久久蜜芽| 亚洲日本久久久午夜精品| 奇米影视7777久久精品人人爽 | 久久久久久无码国产精品中文字幕| 2020最新久久久视精品爱| 久久综合亚洲色HEZYO国产 | 无码国内精品久久人妻蜜桃| 久久久女人与动物群交毛片| 久久www免费人成精品香蕉| 久久精品一本到99热免费| 精品熟女少妇a∨免费久久| 久久国产精品无码网站| 影音先锋女人AV鲁色资源网久久| 九九久久自然熟的香蕉图片| 91久久精品国产免费直播| 国产精品一区二区久久精品涩爱| 2022年国产精品久久久久| 无码8090精品久久一区| 99久久www免费人成精品| 亚洲午夜久久久影院| 欧美与黑人午夜性猛交久久久| 久久久噜噜噜久久熟女AA片| 香港aa三级久久三级老师2021国产三级精品三级在 | 伊色综合久久之综合久久| 久久久国产精品福利免费| 精品综合久久久久久97| 无码人妻久久一区二区三区蜜桃| 国产成人精品久久一区二区三区| 午夜福利91久久福利| 国产精品久久久久久久午夜片| 人妻精品久久无码区| 久久99精品国产麻豆宅宅| 伊人色综合九久久天天蜜桃| 久久精品国产亚洲Aⅴ蜜臀色欲| …久久精品99久久香蕉国产| 日产精品久久久久久久| 久久丫精品国产亚洲av不卡| 久久久久国产精品嫩草影院| 久久久国产99久久国产一|