汇编贪吃蛇实验报告.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
—、实验目的: 熟练掌握汇编的各种指令,综合运用汇编的各种指令编写一 个贪吃蛇程序。在贪吃蛇程序的编写过程中深刻理解汇编语言, 深刻理解汇编语言与其他语言的不同。 二、 实验环境 Masm for Windows 集成环境 2011。 三、 实验内容 1、 回顾书中关于汇编语言的基础知识,利用彩色图形程序设计、 发声系统的程序设计的知识,实现贪吃蛇的可视化及声音。 2、 实验思路: 贪吃蛇程序,利用不同的颜色形状的字符分别表示贪吃蛇蛇 身,食物,以及障碍物。 在dos界面下,有25行80列,第0行设置游戏进行的分数 及关卡信息,在广24行为蛇的活动范围。 游戏设置4关,过三关游戏及通关成功。否则挑战失败,可以 重新挑战或者退出。 因为此贪吃蛇程序是利用字符完成的,所以始终要对指定的行 和指定的列进行读、写字符操作。所以在程序开始以前编写read和 write宏命令是非常必要的。 贪吃蛇移动的过程中,方向是随时可能改变的,所以这里就利 用的中断。把9号中断向量给重新定义为:把键盘读紧的字符都存放 在adrs中,再判断adrs是不是指定的上下左右键。 蛇的移动过程始终伴随有各种的判断过程,首先判断是否进入 下一个关卡,如果是则进入下一关,如果不是则继续判断蛇是否撞到 自身、墙壁、障碍物。如果是则游戏挑战失败,如果不是则进入判断 是否是食物的过程。这三个判断的方法都是一样的,即:通过蛇头所 在的行dh,所在的列dl,以及蛇此时的前进方向addrs来判断蛇头 字符前方的字符是什么,从而得出判断结果。 蛇的行走过程的实现:程序主干循环snakc_run循环一次蛇走 一步,蛇在不吃食物的行走过程的实现是根据蛇头所在的行dh,所 在的列dl,以及蛇此时的前进方向addrs,将蛇头前方的位置变为蛇 身,再利用蛇尾两节的特殊性,将蛇尾变为空,蛇尾第二节变为第一 节,蛇尾第三节变为第二节。蛇吃食物加一的过程,只是在上诉过程 中再,将蛇尾最后两节变为原来的三节。这样就实现了整个行走过程。 贪吃蛇设计思路如框图所示: U!源程序清单、测试数据、运行结果源程序清单 U! 源程序清单、测试数据、运行结果 DAT AS SEGMENT ;此紅鯛入数摒盈代銘 dw 0,0 snk db 1 snake tai!2 db 2 food db 3 snake_tail db 4 door.shape db 8 squ db 9 big_food db 15 blank_space db 32 adrs db 5 snakejength db ? level db ? leveLup.score db 4 character db ? addrs dw ? food^row db ? food.column db ? 询象第二节的字窗;念的的字符;蛇屋呂的字符;门的字禺 询象第二节的字窗 ;念的的字符 ;蛇屋呂的字符 ;门的字禺 ;祿碍的乡占 :空字符 必取的縫含礙銘 注卡 ;过弟金僻 ;倉的所復的的 :念纺所急列 gmov db zgame over press r to restart press q to qu比 $z suc_msg dbz You are successful going over all zhe levels suc_msg1 dbz Please press q to quit $ score^msg db zscore scorel db 48 ;分数 score2 db 48 writer db Developer: Ge Lingjia ID db ZID:$z ;第一 传念 leveLmsg db level: $z msg1 db zThe way to play the game:$z way db press w to up .press s to down,press a to left,press d to rights msg db Press any key(except o.s.ci.w) to starts DATAS ENDS STACKS SEGMENT ;此红鏑入徒桟礎代昭 db 200 dup(O) STACKS ENDS CODES SEGMENT ASSUME CS:CODES5DS:DATAS,SS:STACKS START: MOV AX, DAT AS MOV DS.AX ;此紅鯛入代胡盈代胡 mov ax.O mov es,ax *冷車**p****冷車**p****冷車**車****車車***宕***車*京*車** ■ 9 ;渚詹 clean_p macro mov ah,6 mov ol.O mov ch,0 mov cl.O mov dh,24 mov d

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档