注:項目源代碼和運行截圖都放托管在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鍵盤中斷正常退出 ###
----------
#### 游戲開始界面 ####

#### 運行吃到6個食物 ####

#### 游戲結束界面 ####

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