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

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

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

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

  代码如下:

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. 深度 | 解决真实世界问题:如何在不平衡类上使用机器学习?
  2. ****** 三十五 ******、软设笔记【网络基础】-安全性、可靠性与系统性能评测-数据安全与保密...
  3. Python__封装
  4. 官方文档翻译-ESP32-SPI Flash
  5. 华为服务器忘记管理密码怎么修改,忘记云服务器密码怎么修改
  6. x264源代码简单分析:x264_slice_write()
  7. HAOI2018 简要题解
  8. 在centos7中安装flutter,执行flutter --version时显示flutter的版本为v0.0.0 unknown
  9. python aes加密每次密码不一样_记AES加密在linux系统每次都不一样的问题
  10. 2022 基于SpringBoot/SSM的数据库查询平台
  11. 快逸报表整合至MyEclipse项目中
  12. 格雷码转十进制 c语言,格雷码的转换方法
  13. 使用arecord、aplay命令实现音频的采集和播放
  14. [实用技巧]如何关闭VS中烦人的reference提示
  15. java实现两个实体类共有字段合二为一
  16. Linux crontab 定时执行任务
  17. 什么是等保?等保流程又具体包含哪些内容呢?
  18. 老字号“张小泉”上线小程序与酷客多达成战略合作!
  19. 干货 | 超级全面的电容知识
  20. 内网渗透之CFS三层靶场渗透

热门文章

  1. 巨斧砍大树-sdut
  2. 【计算机视觉】opencv入门学习笔记Part.1
  3. 中国互联网公司如何进军海外,先行者六点血泪教训
  4. larval中sessions的使用
  5. 获取Orcal编码格式为US7ASCII中文数据乱码问题;
  6. 【开发心得】electron iohook集成使用方案
  7. Scrapy报错之:Request object has no attribute dont_filter
  8. 全面了解风控决策引擎
  9. VMware下的 Kali Linux 免安装
  10. 游戏开发入门系列(目录)