body, table{font-family: 微软雅黑; font-size: 13.5pt}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

注:项目源代码和运行截图都放托管在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芯片中的秒数来计算得出的食物位置不合理,正在重新获取新的秒数计算新的食物位置;只要不要再按键盘执行中断程序,很快就会恢复;

X86汇编语言实现的贪吃蛇游戏的更多相关文章

  1. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

  2. 用C++实现的贪吃蛇游戏

    我是一个C++初学者,控制台实现了一个贪吃蛇游戏. 代码如下: //"贪吃蛇游戏"V1.0 //李国良于2016年12月29日编写完成 #include <iostream& ...

  3. WebGL实现HTML5的3D贪吃蛇游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  4. 100行JS实现HTML5的3D贪吃蛇游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  5. H5实现的可自定义贪吃蛇游戏

    原创游戏,使用lufylegend.js开发 用canvas实现的贪吃蛇游戏,与一般的贪吃蛇游戏不同,图片经过美工设计,代码设计支持扩展和自定义. 游戏元素丰富,包括障碍物(仙人掌),金币(奖励),苹 ...

  6. JS贪吃蛇游戏

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  7. 用OpenGL简单编写的一个最简单贪吃蛇游戏

    刚学OpenGL的时候,写的一个最简单的贪吃蛇游戏代码 如下: //贪吃蛇游戏 #include<stdio.h> #include<stdlib.h> #include< ...

  8. Java贪吃蛇游戏

    package snake.game; import java.awt.CardLayout; import java.awt.Color; import java.awt.Graphics;   i ...

  9. 「JavaScript」手起刀落-一起来写经典的贪吃蛇游戏

    回味 小时候玩的经典贪吃蛇游戏我们印象仍然深刻,谋划了几天,小时候喜欢玩的游戏,长大了终于有能力把他做出来(从来都没有通关过,不知道自己写的程序,是不是能通关了...),好了,闲话不多谈,先来看一下效 ...

随机推荐

  1. SPOJ 刷题记录

    按点赞数降序 297 二分 #include<bits/stdc++.h> using namespace std; #define fi first #define se second ...

  2. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第五话):总结以及build.xml文件

    前面基本上把整个配置过程都完整地串起来了,包括可能遇到的难点,按照那个套路应该可以配置好自动打包发布的功能.简单总结下我的学习过程,以及遇到问题是怎样解决的. 准备一个项目源码 刚开始在github和 ...

  3. (转)winform之RichTextBox

    RichTextBox是一种可用于显示.输入和操作格式文本,除了可以实现TextBox的所有功能,还能提供富文本的显示功能. 控件除具有TextBox 控件的所有功能外,还能设定文字颜色.字体和段落格 ...

  4. English trip V1 - B 24. I'm Interested in... 我对...感兴趣 Teacher:Julia Key: (I/We/They) do/don't (He/She/it)does/doesn't

    In this lesson you will learn to talk about people's interests. 课上内容(Lesson) interest v. 使…感兴趣(inter ...

  5. H264编码 封装成MP4格式 视频流 RTP封包

    H264编码 封装成MP4格式 视频流 RTP封包         分类:             多媒体编程              2013-02-20 21:31     3067人阅读    ...

  6. 11月26日 用seed,预加载种子文件; Case 条件语句。网址的参数如何传递,; Query--自定义scopes

    在seed文件中输入一些预加载的种子job,注意属性和值都要有:  ❌错误,我输入contact_email的时候value值是空的,这样不能正确生成. 正确✅: for i in 1..10 do ...

  7. linux动态库

    1.编写动态库函数接口 gcc -fPIC -shared -o libfunction.so funtion.c 2.写头文件 3.测试 gcc test.c -L. -lfuntion -o ru ...

  8. Confluence 6 创建一个项目空间

    火星移民小组的程序需要一个地方能够调出他们任务的相关关键信息和资源,你的任务就是帮助他们实现和管理这个需求.这部分是比较容易实现的,因为这些信息需要让空间项目组中完全可见. 这样的话,你就可以设置项目 ...

  9. Webpack实现路由懒加载的三种方式

    原文指路:https://blog.csdn.net/qq_37540004/article/details/78727063 第一种: 引入方式(正常引入): const router = new ...

  10. Python基础之模块以及5大模块的使用

    内容梗概: 1. 模块的简单认识 2. collections模块 3. time时间模块 4. random模块 5. os模块 6. sys模块 1.模块的简单认识定义:模块就是我们把装有特定功能 ...