X86匯編語言實現的貪吃蛇游戲


注:項目源代碼和運行截圖都放托管在github上了,每一步都有詳細的注釋,地址https://github.com/meihao1203/Greedy_Snake

> 注:GREEDY_SNAKE 是基於8086 匯編語言開發的,匯編語言風格是采用《匯編語言》第二版 王爽著;

### Greedy_Snake 要在Intel實模式下運行,所有運行項目前要安裝DOSBOX 虛擬出一個8086實模式環境 ###
1. 安裝DOSBOX:運行DOSBox0.74-win32-installer.exe即可安裝;
2. 將Greedy_Snake clone到本地任意盤,eg:d:\Greedy_Snake
        - mount d:\Greedy_Snake 到一個指定虛擬盤符:
        - `mount k d:\Greedy_Snake`   (why is k? because i like this charactor)
3. 運行G_Snake
        - 在DOSBOX的DOS提示符下鍵入:
        - `Z:\>K:`(回車)
        - `K:\>cd G_Snake`(回車)
        - 使用masm 5.0工具編譯、鏈接、運行.asm源程序
        - MASM.EXE、LINK.EXE、debug.exe、edit.com都是開發工具,用來編譯、鏈接、調試和編輯代碼
4. G_Snake.asm 是最終代碼;
        - `masm G_Snake.asm`  (編譯游戲)
        - `link G_Snake.obj` (鏈接游戲)
        - `G_Snake`   (運行游戲)
5. G_Snake.asm分了4個步驟:
         - map.asm 是繪制游戲界面的
         - sMove.asm 是讓小蛇響應對應的鍵盤中斷自動移動
         - sMA.asm  是讓小蛇響應方向后自動移動
         - G_Snake.asm 是最終程序

----------

### G_Snake.asm 實現了隨機出現食物,統計分數,顯示小蛇運動方向,響應鍵盤中斷后指定方向自動移動和游戲結束恢復9h鍵盤中斷正常退出  ###

----------
#### 游戲開始界面 ####
![游戲開始界面](https://github.com/meihao1203/Greedy_Snake/blob/master/G_Snake/1.png)
#### 運行吃到6個食物 ####
![游戲運行界面](https://github.com/meihao1203/Greedy_Snake/blob/master/G_Snake/2.png)
#### 游戲結束界面 ####
![游戲結束界面](https://github.com/meihao1203/Greedy_Snake/blob/master/G_Snake/3.png)


----------
注:游戲運行中有可能會卡住不出現食物,這時候是程序通過獲取cmos芯片中的秒數來計算得出的食物位置不合理,正在重新獲取新的秒數計算新的食物位置;只要不要再按鍵盤執行中斷程序,很快就會恢復;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM