最近刚学完汇编,于是准备做个小游戏练练手。就瞅准了最最最老生常谈的贪吃蛇。

  首先贪吃蛇必须是用户让蛇改变方向,蛇就得改变方向,吃到东西蛇会变长。

  但我们不太可能一次性就做出来这么多功能。

  先从简单的开始做。做一个小点点,让这个小点点可以被用户控制着改变方向。不会变长,而不会死。先从最简单的开始。

  代码如下:

assume cs : code, ds : data, ss : stackdata segmentpos dw 0, 0dire dw 0, 2
data endsstack segmentdb 256 dup(0)
stack endscode segmentstart:mov ax, datamov ds, axmov ax, stackmov ss, axmov sp, 256mov ax, 0b800Hmov es, axcall inits0:mov ah, 0int 16Hcmp al, 'w'je wcmp al, 'a'je acmp al, 's'je scmp al, 'd'je dcmp al, 'q'je e0jmp movew:mov dire[0], -160mov dire[2], 0jmp movea:mov dire[0], 0mov dire[2], -2jmp moves:mov dire[0], 160mov dire[2], 0jmp moved:mov dire[0], 0mov dire[2], 2jmp movemove:mov ax, pos[0]add ax, dire[0]mov pos[0], axmov ax, pos[2]add ax, dire[2]mov pos[2], axmov word ptr es : [bx + di], 0001000000000000Bmov bx, pos[0]mov di, pos[2]mov word ptr es : [bx + di], 0000000000000000Bjmp s0e0:mov ax, 4c00H
int 21Hinit:push bxpush espush cxmov cx, 2000mov bx, 0s1:mov word ptr es : [bx], 0001000000000000Badd bx, 2loop s1pop cxpop espop bxretcode endsend start

  运行成功了吗?没有。。。

  贪吃蛇应该是用户不操作蛇都能移动,用户的操作只能改变蛇的移动方向。

  但是我做出的这个却是用户控制移动,键盘不按,那蛇就是静止不动的。

  究其原因是我用的是16号中断,是阻塞式等待的,想要修这个bug就应该重新安装9号中断来修。

【汇编语言】贪吃蛇游戏(一)相关推荐

  1. IA32汇编语言 —— 贪吃蛇游戏

    这里分享一下我的汇编语言课程设计,贪吃蛇游戏 程序使用的资源不超过8086,可以用nasm编译成.com文件,运行在DOSBox环境中 效果演示 文章目录 一.简介 1. 游戏规则 2. 段寄存器安排 ...

  2. 【汇编语言】贪吃蛇游戏(二)

      距离上一次做这个都有一周了,可见我平常是真的忙到没时间做.   废话就不多说了,之前那个贪吃蛇([汇编语言]贪吃蛇游戏(一))使用的是阻塞式的16号中断.所以产生的现象就是,按键盘蛇才走,不按键盘 ...

  3. 基于单片机的贪吃蛇游戏

    绪论 1.1 研究背景与意义 随着社会的发展,人们生活的步调日益加快,越来越多的人加入了全球化的世界. 人们不再拘泥于--,J,块天地,加班,出差成了现代人不可避免的公务.而此时一款可以 随时随地娱乐 ...

  4. 汇编语言贪吃蛇、俄罗斯方块双任务设计实现详解(三)——俄罗斯方块详细设计

    详细设计: 3.俄罗斯方块详细设计:下图所示,左下角为主程序的调用情况,左边上侧和右侧为俄罗斯方块相关数据在teris段中的存储情况 下图所示,左侧为俄罗斯方块具体子程序,右侧为俄罗斯方块程序运行流程 ...

  5. 汇编语言贪吃蛇、俄罗斯方块双任务设计实现详解(一)——整体系统设计

    题目要求: 1.系统划分:将显示器的屏幕划分成大小相等的左右两个显示窗口,并画出每个显示窗口的边框,窗口大小适中.若左窗口贪吃蛇游戏正在进行时,切换到右窗口执行俄罗斯方块,则贪吃蛇游戏暂停,以后每按一 ...

  6. 汇编语言 贪吃蛇+画等边三角形

    学校强制要求参加汇编语言程序设计大赛 要求实现 贪吃蛇+画等边三角形 双任务系统. 详见ppt和报告--------->>>>>下载点这里 一.比赛要求: 1.双窗口要求 ...

  7. 汇编语言贪吃蛇、俄罗斯方块双任务设计实现详解(二)——贪吃蛇详细设计

    详细设计: 2.贪吃蛇详细设计: 如下图所示左下角为主程序对贪吃蛇相关子程序的调用,程序中init_left_window子程序功能为将左侧窗口非边框部分置为空.左边上侧和右侧是贪吃蛇段中,贪吃蛇程序 ...

  8. Java项目:贪吃蛇游戏(java+swing)

    源码获取:博客首页 "资源" 里下载! 功能简介: 贪吃蛇游戏 大嘴鱼洁面类.完成大嘴鱼的界面的绘制: /*** 大嘴鱼洁面类.完成大嘴鱼的界面的绘制.*/ public clas ...

  9. Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    前言: 文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的. 据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个 ...

  10. java贪吃蛇不能回头,儿时回忆!泪流满面,Java 实现贪吃蛇游戏的示例(附代码)...

    image.png image.png java实现贪吃蛇游戏需要创建一个桌面窗口出来,此时就需要使用java中的swing控件 创建一个新窗口 JFrame frame = new JFrame(& ...

最新文章

  1. hdu 2552 三足鼎立 关于tan的数论
  2. 详解spark任务提交至yarn的集群和客户端模式
  3. git: command not found
  4. 感知算法论文(十):Towards Universal Object Detection by Domain Attention(2019)
  5. login aspx实现登陆功能 400电话
  6. gradle kotlin_我对Gradle Kotlin DSL的第一印象
  7. 这几年养成的几个比较好的工作习惯
  8. 在测试中发现错误,不要着急去改,静下心来,想一想错误的关联性( 错误展开确认 )。
  9. IOS 在终端( Terminal )开发
  10. timimg学习数据删了_如何评价Timing这个督促人学习的软件?
  11. win10解决已禁用输入法和隐藏中文简体美式键盘
  12. 用html计算长方形的面积公式,长方形面积公式是什么
  13. VBS 对IBM Notes的常规操作
  14. 深度沉浸能力的锻炼方法
  15. idb 怎么回复mysql_mysql中的.idb文件 怎么正常显示
  16. H5微信公众号关闭页面
  17. 构建技术影响力 5.0
  18. 电脑桌面壁纸更换后不一会就变成黑屏
  19. 债券的到期收益率、即期收益率、远期收益率及远期利率的推导
  20. 步进电机控制相关波形记录

热门文章

  1. 语c语言描写,语c动作描写
  2. 微信小程序:map组件标注callout与label简单用法
  3. 数学脱式计算在线计算机,四年级数学脱式计算练习400题
  4. 便宜SSL证书购买攻略:comodo,geotrust,rapidssl证书为例
  5. 《Adobe Premiere Pro CS6中文版经典教程》——复习题
  6. D语言之路-第1篇 库函数之争
  7. 根据原厂uboot进行移植
  8. 笔记三、最大数字(C++)
  9. 送 10 本签名书!
  10. JAVA8之 日期时间时区之 ZoneId[ZoneOffset, ZoneRegion] 笔记