找回密碼
         注冊會員
        搜索附件  
        MCU資訊論壇 附件中心 單片機論壇 51單片機論壇 5_20422_0d496acbc7b0be9.jpg

        5_20422_0d496acbc7b0be9.jpg

         

        觸摸屏仿真之推箱子:三大經典游戲之仿真(俄羅斯方塊、推箱子、:


        本人工作和單片機一點關系都沒有,玩玩單片機,寫寫單片機游戲,純粹是個人愛好。記得第一個單片機游戲帖子是在兩年以前發的了,發表在了Proteus論壇上,名為三大經典游戲之仿真(俄羅斯方塊、推箱子、貪吃蛇),第二個單片機游戲帖子發表在了本論壇,名為單片機游戲之四九宮格數獨,今天發表的是第三個貼子了。

        在論壇里看到很多人仿真的都是計算器啦,萬年歷啦,數碼管顯示啦,波形發送器啦,用的液晶大多為12864或是1602,偶爾會看到有人用ST7920 或是T6963C驅動的液晶屏。12C ds1302 18b20 等驅動更是多于牛毛。但Proteus中唯一的一個串口12864(驅動器型號為SED1565)驅動卻無人問津,最大號的256*256型液晶驅動無人問津,觸摸屏就更是沒人去搞了,(叫你搞,你也一時搞不出,哈哈),這次在我的仿真里你會全部看到,當然還有I2C的驅動(千錘百煉的驅動代碼絕對精煉)。
        因為本游戲,在我的第一個帖子中發表過了,人物移動邏輯還是一樣的,在本仿真中由于加了觸摸屏,自然就要有自動尋路的功能,這是一個很耗單片機資源的東東。剛寫的時候我還在考慮RAM擴展,后來發現這樣一來51單片機的引腳根本就不夠,于是我又考慮到采用多機通信的方式代替擴展RAM,因為那樣的話就相當于有64個引腳,可以專門用一個單片機來做尋路操作,并且RAM有512字節,已經足夠了,但后來的測試發現,人物尋路一遍時間太長,并且在數據交互時處理的不是很好,偶爾會有數據丟失。最后經過仔細的硬件布局和精煉的數據算法,還是被我用一塊單片機搞定全部功能,其中的功能塊如下,觸摸屏功能塊響應鼠標點擊液晶屏消息,12C 功能塊保存和加載游戲數據,虛擬終端功能塊負責響應PC機鍵盤消息操控游戲,12864功能塊負責實時顯示游戲進程數據,256*256液晶功能塊負責顯示游戲地圖,按鍵功能塊負責啟動、復位、保存、加載、選關等等操作,兩片74系列轉換模塊負責轉換觸摸屏數據,當然還有最最重要的單片機負責處理所有輸入輸出。
        本仿真工程龐大,整個項目源代碼全部公開,你下載后只要你裝了Keil就可以編譯通過(我用的是Keil4低版本能否通過不清楚)。為了達到復用的目的文件較多,不管是算法效率,游戲邏輯分析,各種芯片驅動,還是整個項目架構或是代碼風格,都經過本人精心設計,可以說每個方面都有其獨到之處,會讓你有一種賞心悅目的感覺,不管你是新手還是老手都很難說這其中沒有值得你學習的地方,特別是在處理游戲尋路邏輯那一塊,在最開始時我用的算法是采用棧來處理,但后來發現這種方式找到的路徑不一定是最短路徑,所以又改用了隊列算法來實現,但棧的代碼并沒有刪除,而是采用了宏處理 你可以去掉#define USEQUEUE 這句宏定義而不需改變其它的任何代碼,再次Build一次就可以看到采用棧尋路的效果了。本仿真中游戲關數只設了四關,如果你想多加關數,只要在數據文件中添加正確的關數據,并修改宏#define MAX_HURDLE 4的值再一次Build即可,下面是復制以前帖子的游戲看點內容:
        本游戲之十大看點

        游戲看點一:游戲采用LCD-KEYPAD液晶顯示屏做為顯示界面(256*256),大家不要去你自己的元器件庫里搜索這塊液晶,你永遠都搜索不到,至于為什么我的仿真里會有,留你自己慢慢想,如果你夠細心就會明白,只要你裝了Proteus 仿真不是問題。
        游戲看點二:游戲啟動界面簡潔,依然沿用了以前游戲的啟動界面
        游戲看點三:游戲所用的單片機為最原始的80C52單片機,不需要AVR也不需要ARM,小小的80系列單片機就能綽綽有余的實現游戲所有功能。
        游戲看點四:游戲無需外加數據存取器,根本就用不完256字節的數據段(本游戲151.6字節,還有100多個字節空閑),很多朋友認為寫游戲不擴展外部數據存儲器幾乎不可能,如果你看了我的仿真,你就會改變你的想法。
        游戲看點五:本游戲屬原創,絕無抄襲,也沒地方抄襲。
        游戲看點六:游戲的硬件電路,極其簡單,由于采用了觸摸屏,移動按鈕被取消,但保留了虛擬終端。
        游戲看點七:游戲采用了虛擬終端,能通過PC鍵盤完成游戲的所有操作,具體操作看終端顯示。
        游戲看點八:游戲代碼相當規范,工程建立獨到,如果你看了我的代碼架構,再和論壇里大多數朋友的相比較一下,你就會明白高手和菜鳥的區別。
        游戲看點九:Proteus的觸摸屏看似引腳眾多,其實驅動也沒那么復雜,類似行列式鍵盤,但如果讓你來寫你還真不一定能寫出來,不是我很狂,現在很多人都眼高手低的,說是簡單,寫起來卻不是那么回事。
        游戲看點十:游戲中用到了24C02C芯片,可以任意時間加載和保存游戲。
        仿真注意:Proteus軟件必須是7.4或7.4以上版本

        下面是仿真截圖,由于觸摸屏效果在圖中顯示不出來,朋友們可以下載下來自己仿真看到
        游戲啟動界面



        游戲中效果



        軟件工程

        5_20422_0d496acbc7b0be9.jpg

        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-5-5 03:15 , Processed in 0.039539 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        亚洲国产精品人人做人人爱| 99热这里只有精品国产66| 92精品国产自产在线观看| 99热都是精品久久久久久| 日本精品久久久久久久久免费| 男人j进女人屁网站免费| 国产精品亚洲片在线| 国产成人精品免高潮在线观看| 亚洲性日韩精品一区二区三区| 国产精品美脚玉足脚交欧美| 国产精品一区三区| 先锋影音国产一区| www.亚洲精品| 欧美精品高清在线xxxx| 久久精品人人做人人爽电影蜜月 | 成人无码精品1区2区3区免费看 | 欧美人成在线观看ccc36| 91精品啪在线观看国产| 久久久精品国产Sm最大网站| 少妇精品久久久一区二区三区| 91人妻人人澡人人爽人人精品| 台湾佬香蕉娱乐中文22网| 国产精品一二区| 最新国产精品精品视频| 国产精品嫩草视频永久网址| 日韩专区亚洲精品欧美专区| 国产精品v片在线观看不卡| 久久99精品久久久久久野外 | 国产精品无码专区在线观看| 亚洲精品中文字幕乱码三区| 国产精品JIZZ在线观看老狼| 亚洲精品国产精品乱码视色 | 黄色小说在线观看视频| 久久精品国产一区| 免费在线不卡视频| 国产精品理论片在线观看| 热re99久久6国产精品免费| 久久国产精品二国产精品| 国内精品久久久久久久97牛牛| 久久久久亚洲精品中文字幕 | 影音先锋最新中文字幕资源|