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