freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于niosii的俄羅斯方塊游戲設(shè)計與實現(xiàn)(參考版)

2024-12-07 19:20本頁面
  

【正文】 O 型數(shù)組: ■■ □□ ■■ □□ ■■ □□ ■■ □□ ■■ □□ ■■ □□ 。 Z1 型數(shù)組: ■■ □□ □ ■□ □ ■■ □□ □ ■ □□ □ ■■ □ ■■□ □ □ ■■ □ ■■ □□ □□□□ ■ □□□ □□□□ ■ □□□ □□□□ □□□□ □□□□ □□□□ const int Z1_FK[4][4][4] = { {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {1, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {1, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }}。 L1 型數(shù)組: ■ □□□ □ ■ □□ ■■■ □ ■■ □□ ■■■ □ □ ■ □□ □□ ■ □ ■ □□□ □□□□ ■■ □□ □□□□ ■ □□□ □□□□ □□□□ □□□□ □□□□ const int L1_FK[4][4][4] = { {{1, 0, 0, 0}, {1, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {0, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 1, 0}, {0, 0, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }}。 2. DRAW_FK 結(jié)構(gòu)數(shù)組 所有的 游戲方塊均放在一個 4 4 的數(shù)組中,分別用 1 表示顯示, 0 表示不顯示。 定義一個 17 14 的游戲底板的數(shù)組,游戲底板顯示的實際區(qū)域為 16 12 的數(shù)組,其他多出的定義數(shù)組作為底板的邊框,是為了防止游戲方塊 變形 后 溢出而設(shè)置的。此時游戲速度與游戲分?jǐn)?shù)均是游戲開始的初始狀態(tài)。 3. 游戲更新顯示 當(dāng)游戲 方塊填滿一行后,即游戲方塊在 X 軸方向全置 1 時,清除 滿行,滿行以上的 第 36 頁 所有游戲方塊對應(yīng)下移,產(chǎn)生新的游戲狀態(tài),同時游戲分?jǐn)?shù)隨即增加,當(dāng)消除滿行的數(shù)值達(dá)到 1000 時,游戲速度更新,比原來的游戲速度快一倍。 4) 方塊自由下落的實現(xiàn) 判斷方塊能否自由下落,需要滿足以下兩個條件: ? 游戲方塊下落過程中,不能超越游戲板的底邊線,否則越界; ? 游戲方塊在下落過程中,游戲底板必須是未被占用的,也就是值為 0,滿足這個條件,游戲方塊才可以自由下落;否則游戲方塊不能自由下落。 2) 右移的控制實現(xiàn) 判斷方塊能否右移,也要滿足以下兩個條件: ? 游戲方塊整體右移一位后,游戲方塊不 能超越游戲底板的右邊線,否則越界; ? 在游戲方塊有值為 1 的位置時,游戲底板必須是沒有被占用的,也就是值為 0 滿足右移的條件后,清除右移的游戲方塊,并且在右移一位的位置,重新顯示此游戲方塊;否則游戲方塊則不執(zhí)行右移。右移與左移情況類似。 俄羅斯方塊游戲 游戲方塊預(yù)覽功能 游戲方塊控制功能 游戲顯示更新功能 游戲分?jǐn)?shù)速度更新功能 游戲結(jié)束重新開始功能 第 33 頁 5. 游戲結(jié)束后重新開始功能 在游戲過程中,如果游戲結(jié)束,將顯示“ OVER”字樣,并且在 5 秒鐘之后,游戲自動開 始從新進行。 4. 游戲速度分?jǐn)?shù)更新功能 在用戶進行游戲過程中,需要按照一定的規(guī)則計算游戲分?jǐn)?shù),比如,每消除一行滿行方塊,加 10 分。 2. 游戲方塊控制功能 通過各種條件的判斷實現(xiàn)對游戲方塊左移、右移和旋轉(zhuǎn)的操作,以及滿行消除的功能。 本游戲主要實現(xiàn)以下功能: 圖 55 游戲功能圖 1. 游戲方塊預(yù)覽功能 在游戲過程中,當(dāng)在游戲底板中出現(xiàn)一個游戲方塊時,必須在游戲方塊預(yù)覽區(qū)中出現(xiàn)下一個方塊,這樣有利于用戶控制游戲的策略 。在程序上,計分很容易實現(xiàn),但考慮一個優(yōu)化的計分算法是比較困難的。例如,左右鍵控制方塊的橫坐標(biāo),而向上鍵則會引起方塊的翻轉(zhuǎn),向下鍵會加速方塊的下落??這個游戲的邏輯比較復(fù)雜的地方有兩點 ,一是判斷方塊能否翻轉(zhuǎn),如何實現(xiàn)翻轉(zhuǎn);二是消去滿層,并重新調(diào)整其它方塊的位置。如下圖所示: 圖 54 俄羅斯方塊游戲邏輯圖 對于俄羅斯方塊這個游戲來說,邏輯大致是以下的模式: 隨機產(chǎn)生一個方塊,它會定時地往下落,碰到底部有其它方塊或地圖邊界,就固定下來,然后產(chǎn)生另一個方塊,重復(fù)上述過程。 第 29 頁 組件參數(shù)設(shè)置: Nios II Processor CPU : Nios II/f AvalonMM Tristate Bridge : Shared Signals— data、 address、 read_n Flash Memory(CFI) : AttributesAddress Width(bits) : 2 Data Width(bits) : 8 Timing— Setup : Wait : 160、 Hold : 40 SDREM Controller : Memory Profile— Presets : Custom — Data Width : 16 — Architecture : Chip select : Banks : 4 — Address widths : Row : 1 Column : 8 JTAG UART : 默認(rèn)設(shè)置 UART : 默認(rèn)設(shè)置 Interval Timer : 默認(rèn)設(shè)置 PIO : Basic Settings— Width : 4 — Direction : Input port only Input Options— Edge capture regiser : Synchronously capture — Failling edge Interrupt— Generate IRQ — Edge VGA 第 30 頁 第五章 NIOS II 軟件設(shè)計 軟件設(shè)計主要在 NIOS II IDE 里進行,進入 NIOS II IDE 后,在 FileSwitch Workspace 中選擇工程目錄下的 Software 文件夾 ,點擊 OK 完成。如下圖所示 第 27 頁 圖 419 添加 PIOBasicsettings 點擊“ Next”進入“ Input Options”欄,如 下 圖所示,選中“ Synchronously capture”,方式“ Rising Edge”即 上升沿沿 作為觸發(fā)源;選中“ Interrupt”,方式為“ Edge”即邊緣觸發(fā),點擊“ Finish”完成添加, 第 28 頁 圖 420 添加 PIOInput Options 8) 加入外設(shè)組件 VGA 在 SOPC Builder 左側(cè)的 Terasic Technologies IncBinary_VGA_Controller_IF 圖 421 添加 VGA 9) 地址自動分配 添加完元件成后,要為每個外設(shè)分配及地址和中斷請求優(yōu)先級( IRQ)。 選擇“ Registered”,點擊“ Finish”完成 添加 , 如下圖所示: 圖 418 添加 Avalon 總線 7) 加入輸 入 I/O 口: 雙擊左組件欄中的 PeripheralsMicrocontroller PeripheralsPIO(Parallel I/O)。 本設(shè)計中,需要加入一個 Avalon 三態(tài)總線橋 ,以供 Flash 使用。 硬件配置:使 FLASH 器件與對應(yīng)的 Avalon 三態(tài)總線橋 相連接,所以添加 FLASH 器件 后,要對應(yīng)添加三態(tài)橋。 硬件參數(shù)設(shè)置:本實驗平臺采用的 S29GL064A 芯片符合 CFI 標(biāo)準(zhǔn),其數(shù)據(jù)位寬可通過配置 BYTE_n 引腳進行 8Bit/16Bit 切換。 CFI(Common Flash Memory Interface)描述了硬件特征與系統(tǒng)軟件的接合協(xié)議,這使得通用的軟件算法適用于全部符合 CFI標(biāo)準(zhǔn)的 Flash 器件。選用所有的默認(rèn)設(shè)置,點擊“ Finish”完成添加,如下圖所示: 圖 412 添加 JTAF UART 圖 413 創(chuàng)建 JTAF UART 第 23 頁 4) 加入 UART 組件: 雙擊左側(cè)選擇組件欄中的 interface ProtocolsSerialUART(RS232 Serial Port)。設(shè)置 Memory type 為 RAM, Data width 為 32, Total memory size 為 16Kbytes,點擊“ Finish”完成添加。在此添加快速型內(nèi)核才能滿足工程的正常運行 圖 49 CPU 內(nèi)核選擇 在第四標(biāo)簽頁 JTAG Debug Module 中,有四種 JTAG 調(diào)試的模式,選擇第一種調(diào)試模式,如下圖所示,之后點擊 Finish 完成 CPU 的定制。 下圖是添加完整組件的 SOPC Builder 配置: 圖 48 SOPC Builder 組件設(shè)計 第 20 頁 下面詳細(xì)介紹各個組件添加步驟: 1) 加入 NiosII CPU Core: 雙擊左側(cè)選擇組件欄中的 NiosII Processor,彈出配置對話框。 使用 SOPC 技術(shù)解決 VGA 顯示精細(xì)圖像的問題,把 Nios CPU 和 VGA 控制器放在同一片 FPGA 中,通過硬件結(jié)構(gòu)圖可以清晰展現(xiàn)硬件結(jié)構(gòu)設(shè)計,如下圖所示: 圖 41 俄羅斯方塊硬件結(jié)構(gòu)圖 第 15 頁 Quartus II 開發(fā)流程如下圖所示: 設(shè) 計 輸 入綜 合布 局 、 布 線編 程 、 配 置仿 真時 序 分 析 時 序 逼 近工 程 變 動 管 理調(diào) 試 圖 42 Quartus II 開發(fā)流程圖 基于 Nios II 的硬件開發(fā)設(shè)計 首先安裝好系統(tǒng)設(shè)計所需的軟件,本設(shè)計開發(fā)采用的是 Quartus II 和 Nios II IDE Quartus II 軟件設(shè)計 Quartus II 軟件后,要進行軟件破譯,也就是進行 的配置 破解器可以從各大網(wǎng)站進行下載,型號匹配,即可破解成功,破解成功后,如下圖所示: 第 16 頁 圖 43 License 破解圖 破解成功后,需要安裝 USB 驅(qū)動程序,安裝目錄如下: C:\altera\80\quartus\drivers\usbblaster\x32,安裝成功后點擊 Hardware Settings界面如下: 圖 44 Hardware Setting 設(shè)置圖 第 17 頁 2. 軟件在破解成功后,便可以使用了 在使用 Quartus II 設(shè)計軟件之前,需先建立設(shè)計模塊的工程( Project)單擊菜單“ FileNew Project Wizard...”,工程建立的芯片設(shè)置如下圖所示: 由于所使用的開發(fā)板 DE270 開發(fā)板的芯片類型是 Cyclone II EP2C70F896C6,故這里就選擇使用這個芯片 圖 45 芯片設(shè)置圖 3. 工程設(shè)計
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1