• 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芯片中的秒数来计算得出的食物位置不合理,正在重新获取新的秒数计算新的食物位置;只要不要再按键盘执行中断程序,很快就会恢复;
  • 相关阅读:
    $watch和watch属性的使用
    实例方法this.$delete的使用
    实例方法$set的用法
    $nextTick的使用
    vue初始化项目一直停在downloading template的解决办法
    vue小白快速入门
    vue计算属性详解——小白速会
    Nginx在windows环境下的安装与简单配置
    redis持久化
    谈谈区块链正经的商用场景!
  • 原文地址:https://www.cnblogs.com/meihao1203/p/9253459.html
Copyright © 2020-2023  润新知