圖片
第一部分 設(shè)計概述
1.1 設(shè)計目的
我們設(shè)計了一款基于 FPGA 的SEA開發(fā)板 的飛機大戰(zhàn)游戲。飛機大戰(zhàn)游戲是一款休閑益智類游戲,,既簡單又耐玩,。在初始界面,我們有開始游戲,、重新開始,、皮膚選擇和結(jié)束游戲四個選項。開始游戲后,,玩家可以用游戲手柄方便的控制飛機在屏幕上向任意方向移動,,通過躲避子彈和射擊敵機得分,在屏幕左上角可以看到當前生命和得分,。
1.2 應(yīng)用領(lǐng)域
最近的一些復(fù)古游戲網(wǎng)上商店吸引了許多喜歡老式電子游戲的買家,。一些愛好者一直在收集復(fù)古游戲產(chǎn)品,一些普通玩家也開始收集舊式磁帶和CD,,還有小時候玩過的游戲機,。
雖然復(fù)古游戲只占全球 1090 億美金游戲行業(yè)的一小部分,但確是非常有吸引力的縫隙市場,。該游戲平臺可以作為一個復(fù)古游戲機使用,,經(jīng)過后期加工改良,可以將游戲移植到專用游戲機或手機等設(shè)備上,,供玩家使用,。這款飛機大戰(zhàn)游戲,可以放松心情,,釋放壓力,,提高反應(yīng)能力。
1.3 主要技術(shù)特點
?。?) 在 BRAM 資源較少的情況下,,采用了圖片壓縮編碼的方式,以較少的數(shù)據(jù)量來表示原來的像素矩陣。
?。?) 我們編寫了游戲的主菜單和控制邏輯,,游戲功能豐富,界面美觀,。
(3) 我們外接了自制游戲手柄,,可以直插在開發(fā)板上,,方便地控制游戲。
1.4 關(guān)鍵性能指標
?。?) 游戲界面美觀,,飛機圖標清晰,游戲動畫顯示流暢,。
?。?) 游戲手柄上的搖桿與按鍵靈敏度高、指令延遲小,。
1.5 主要創(chuàng)新點
?。?) 使用了自制游戲手柄,相比普通按鍵,,能更方便地控制游戲,,提升用戶體驗。
?。?) 在板載 BRAM,,資源較少的情況下,采用了圖片壓縮編碼的方式,,以較少的數(shù)據(jù)量來表示原來的像素矩陣,。
第二部分 系統(tǒng)組成及功能說明
2.1 整體介紹
系統(tǒng)硬件由 SEA 開發(fā)板(型號 xc7s25ftgb196-1)、游戲手柄拓展板和 HDMI 顯示屏組成,。FPGA 讀取按鍵和搖桿的狀態(tài),,來控制游戲顯示的內(nèi)容, 其中,,F(xiàn)PGA 通過 IIC 方式來讀取搖桿的狀態(tài),。游戲總體控制模塊分為按鍵 功能控制、主菜單控制,、游戲邏輯控制和文字圖片信息顯示控制四個方面,。根據(jù)玩家不同的指令,HDMI 屏上顯示相應(yīng)的內(nèi)容,。
2.2 各模塊介紹
根據(jù)總體系統(tǒng)框圖,,給出各模塊的具體設(shè)計說明。
(1) 游戲總體控制模塊
按鍵功能控制:不同的按鍵對應(yīng)不同的指令,,該模塊主要負責(zé)按鍵消抖與指令轉(zhuǎn)化,。
主菜單控制:游戲初始界面的主菜單有開始游戲、重新開始,、皮膚選擇和結(jié)束游戲四個選項,。可以通過按鍵上下移動光標,,選擇不同功能,。
游戲邏輯控制:該模塊主要進行了游戲規(guī)則的設(shè)計。
顯示模塊:主要負責(zé)文字顯示和飛機圖標,、子彈顯示,。
(2) HDMI 顯示驅(qū)動模塊:驅(qū)動 HDMI 屏,,在屏上流暢的顯示游戲界面,。
(3) 游戲手柄驅(qū)動模塊:驅(qū)動手柄上的 PCF8591 芯片,,輸出搖桿的位置狀態(tài),。
(4) IIC 通信模塊:實現(xiàn)游戲手柄和 FPGA 的通信,,F(xiàn)PGA 讀取 PCF8591 輸出的數(shù)據(jù),。
第三部分 完成情況及性能參數(shù)
顯示的菜單如圖 3 所示,可以上下移動光標選擇相應(yīng)的功能,。游戲界面如圖 4 所示,,實現(xiàn)了搖桿控制飛機朝任意方面移動。圖片清晰,,畫面顯示流暢,,指令延時小,并且游戲規(guī)則正確,,可以給玩家良好的游戲體驗感,。
第四部分 總結(jié)
可擴展之處
A.利用板載的 esp32 模塊,實現(xiàn)脫機下載,。
B.可以存儲一些其他游戲,,設(shè)計個游戲選擇菜單。
C.利用板載的藍牙模塊,,實現(xiàn)聯(lián)機游戲,。
D.增加游戲音樂部分。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<