汇编语言与接口技术课程设计实验报告-基于汇编的贪食蛇游戏.doc

汇编语言与接口技术课程设计实验报告-基于汇编的贪食蛇游戏.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言与接口技术课程设计实验报告-基于汇编的贪食蛇游戏

实验目的: 本次实验是汇编语言与接口技术这门课程的综合试验。目的是熟练掌握并能综合应用所学的汇编语言与接口技术,同时也熟悉了汇编语言的程序的调试方法,发现并纠正了平时编写汇编程序时一些不好的习惯,养成了较好的编程习惯,同时在实践中加深对这门课程的理解,也为后面进一步的学习以及实验打下扎实的基础。 实验环境 Masm for Windows 集成实验环境 实验内容 用所学的汇编语言与接口技术的知识,用汇编语言编写一贪 食蛇的游戏。 实验要求:贪吃蛇能正常运动; 贪吃蛇能够有指定的四个方向键控制方向; 贪吃蛇吃掉豆子能自动加分; 贪吃蛇能够在碰到边界死亡; 其余可以根据自己的想法扩展功能; 。 实验步骤与调试方法 程序初始化部分: 在数据段定义好相关的提示信息以及储存蛇身的数组,主要有游戏之前的提示信息,游戏之中的相关输出信息,例如得分等。 画点部分: 屏幕显示采用320*200的图形16色显示模式,点的画出采用写像素的方式,每个点占用4*3像素。 同蛇移动程序: 采用不断刷屏的方式,通过延迟,程序没执行一次,蛇便会在相应的方向往前移动一个格。此时可以通过记录蛇头位置并重画擦屏的方式显示出蛇身的新位置。 蛇的位置重置: 由于蛇是不断运动的,此时可以采用将新的蛇身的位置覆盖原先的数组。 随即豆的产生: 利用系统时间的变化,根据秒和百分之一秒的部分,此时可以通过一系列运算产生在要求范围内的的随机数,此时的随机数便是随即点,可以通过产生的随即点的坐标画出随即点。 蛇吃食物: 当蛇头的位置可以与随即点的位置坐标判断,如果此时两点的坐标是相同的,那么便可以将此时的食物点加到蛇头位置上。 判断游戏结束的条件: 当蛇的头部位置到达边界或者蛇头的位置与自身相重合,那么变产生结束的条件了。 源程序清单、测试数据、运行结果 .model small .stack 200 .data Len db ? ;蛇的长度 Body dw 200 dup(0) ;蛇的身体位置 Direction dw 256 Score db Score00000 ;得分 snake_color db 0ah ;蛇颜色 food_color db 0ch ;食物色 speed db 0 ;速度 gameover db 0 ;游戏结束标记 Point db 0 ;得分数 foodX dw ? ;食物坐标 foodY dw ? seed dw 2 ;随即数种子 ;****************************************************************************************** ;显示方面的参数 topline dw 20 ;上边界 leftline dw 60 ;左边界 cut_x dw 4 ;每格宽 cut_y dw 3 ;每格长 max_x dw 49 ;最大格数(横) max_y dw 49 ;最大格数(纵) msg1 db Greedy Snakes msg2 db by:tangxing msg3 db Game is over! msg4 db Press any key for start! Esc for exit msg5 db ESC for back, Space for retry msg6 db press space for pause/continue msg7 db title1 db 6 dup(20h), 5 dup(0dch), 5 dup(20h) ,5 dup(0dch), 5 dup(20h) title2 db 6 dup(20h), 0dbh,3 dup(20h),0dbh,5 dup(20h),0dbh,3 dup(20h),0dbh ,5 dup(20h) title3 db 6 dup(20h), 0dbh,3 dup(20h),0dbh,5 dup(20h) ,0dbh,3 dup(20h),0dbh,5 dup(20h) title4 db 7 dup(0dfh), 3 dup(20h),7 dup(0dfh), 3 dup(20h),5 dup(0dfh),0fdh yello db 0eh green db 02h white db 0fh blue db 01h ;*******************************************

文档评论(0)

2017meng + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档