蛇仔游戏报告书--高政超

更新时间:2023-06-05 13:08:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中北大学微机原理与汇编语言 课 程 设 计 说 明 书学生姓名: 学生姓名 学 专 题 成 院: 业: 目: 绩高政超学 号: 08060341X23 信息商务学院 计算机科学技术 蛇仔游戏指导教师 指导教师潘广贞2011 年 6 月 24 日

中北大学微机原理与汇编语言 课程设计任务书2010/2011 学年第 二 学期学 专院 : 业: 高政超中北大学信息商务学院 计算机科学与技术 学 号 : 08060341X23学 生 姓 名: 设 计 题 目:蛇仔游戏 当遇到食物时,就吃掉,遇到自己的身体或边缘时为蛇 死亡,并结束游戏起 设 指 系迄 计 导 主日 地 教 任期: 点: 师: :6 月10 日~6 月24 日教学七楼五层微机原理实验室 潘广贞 潘广贞下达任务书日期: 2011 年 6月10 日

微机与汇编语言课程设计任务书1.设计目的:通过该实验周,使学生根据所学的汇编语言知识和编程技巧,能针对一个大 型的实验项目,做出实验分析,设计算法,使用 x86 汇编语言,编写并调试程序, 达到设计任务的功能要求。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等) :设计内容: 设计内容 可设置方格数目,颜色,大小,线宽等;随机产生一老鼠; 蛇可根据鼠标改变行动方向,当遇到老鼠时,就吃掉,遇到自己的身体或边 缘时为蛇死亡,并结束游戏; 可产生音乐;可以进行文件操作(保存当前游戏进度或装入游戏进度及当前 的环境设置等) ; 显示当前日期时间,及进度进行的时间;显示得分和排名; 可进行鼠标操作,如菜单功能选择、方向改变等。3.设计工作任务及工作量的要求〔包括硬件大型实验计算说明书(论 文)、图纸、实物样品等〕 :组长: 邬 琦:与同组同学协商完成设计的实现方法和原理,主要完成产生背 景音乐;以及将全组其他同学的软件进行连接,完成整个设计任务. 组员一:马瑞珍:与同组同学协商完成设计的实现方法和原理,主要完成设置方 格数目,颜色,大小,线宽等;随机产生一个食物 组员二:高政超:与同组同学协商完成设计的实现方法和原理,主要完成当遇到 食物时,就吃掉,遇到自己的身体或边缘时为蛇死亡,并结束游戏; 组员三:刘玉文:与同组同学协商完成设计的实现方法和原理,主要完成显示得 分,菜单功能选择:速度选择(慢速、正常、快速) ,退出选择(重新开始,游戏 恢复,退出游戏) 组员四:刘 江:与同组同学协商完成设计的实现方法和原理,主要完成可进行键盘操作,如蛇可根据键盘改变行动方向等。 在设计内容完成的条件下,编写微机原理与汇编语言课程设计说明书.

1. 引言本篇设计是采用汇编语言编制而成的一个贪吃蛇小游戏,通过这个小游戏 的制作,我们可以得到很多的益处,我们制作完游戏还可以给自己或者别人来休 闲娱乐一下,同时自己也会有一种成就感。特别当你用自己学到的知识制作出一 个东西的时候,或者克服一个困难的时候你就会发现你自己的价值所在了,而且 这还能促进你喜欢学习的念头。 最重要的意义是通过课程设计实践来锻炼汇编语 言的实际应用,以及初步熟悉软件项目开发的整体流程。2.需求分析2.1 用户的特点 游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。本 游戏友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的 用户不需要专门进行培训,就可以立即学会如何使用。 2.2 功能需求 2.2.1 游戏主界面模块需求 游戏界面主框架主要包括游戏图形区域界面、 游戏开始按钮、 游戏暂停按钮、 关闭按钮以及游戏的速度选择:低级、中级、高级按钮。 2.2.2 游戏图形区域界面的需求 游戏区域界面主要应该包括游戏画布中贪吃蛇随机出现的位置, 贪吃蛇重新 出现的位置,食物随机出现的位置。 2.2.3 属性需求 在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个 系统恢复性能好,连接速度快,以确保系统可使用性好。 另外,还要求系统的可扩展性、可维护性、可移植性良好。 2.3 设计内容 可设置方格数目,颜色,大小,线宽等;随机产生一老鼠; 蛇可根据键盘改变行动方向,当遇到老鼠时,就吃掉,遇到自己的身体或边 缘时为蛇死亡,并结束游戏; 可产生音乐;可以进行文件操作(保存当前游戏进度或装入游戏进度及当前 的环境设置等) ; 显示当前日期时间,及进度进行的时间;显示得分和排名; 可进行键盘操作,如菜单功能选择、方向改变等。

3.总体设计3.1 设计的总体思想 具体的设计思想是:第一,对数据进行初始化,即对寄存器的初始化,比如对食 物的初始化等。第二,开始运行,程序中定义了很多的子程序,其中有:发声子 程序、延时子程序等等。它们首先被主程序调用,然后它们之间再互相调用,这 样构成了完整的游戏程序并实现其功能。这就是完成这个游戏程序的整体思想。 3.2 分析与设计本次游戏设计的处理流程如图 1 所示。程序开始初始化开始画面开始游戏 是 判断蛇是否死亡 否 更新成绩分数 是是否继续游戏否 退出游戏图1贪吃蛇程序流程图4. 详细设计

4.1 4.1 设计任务 当遇到食物时,就吃掉,遇到自己的身体或边缘时为蛇死亡,并结束游戏。通过 控制蛇的身体、方向,让蛇吃掉在屏幕上显示的老鼠。在蛇吃掉之后老鼠消失, 老鼠消失,在屏幕上的随机的其他位置出现新的老鼠。在吃掉老鼠之后,蛇的身 体就会适当的变长,吃掉更多的老鼠,蛇的身体就会变得更长。在游戏的同时, 蛇的头部不能碰到蛇的身体和墙壁。 如果蛇头碰到身体或墙壁, 游戏就会和终止, 同时退出。 4.2 设计流程图图 2 设计流程图当蛇遇到边缘或自身时死亡: 4.3 当蛇遇到边缘或自身时死亡:

判断蛇头的坐标是否超出了游戏区域,当蛇的横坐标超出游戏区域范围时判 定为碰到边缘死亡,同理当蛇的纵坐标超出游戏区域范围,也判定为碰到边缘死 亡。 在判断蛇头与蛇身相碰时,主要由变量来控制,首先取蛇头跟蛇尾横坐标 比较,当横坐标相同的时候继续比较纵坐标,不同的时候,和下一组坐标比较, 蛇头坐标和身体的某个坐标相同,则判定为死亡,退出游戏到菜单界面,否则继 续比较下一组坐标,直到和蛇身坐标比较完毕。当蛇遇到边缘或自身死亡时,退 出游戏。 4.4 设计总结 这个小游戏程序主要用的技术包括三个方面: 第一个方面就是宏的定义及调 用,这个程序当中多次用到宏汇编。这不仅减少了程序的开销,而且还减少了程 序运行的时间和一些存储空间。第二个方面就是子程序的调用,这个程序中也有 多处用到 CALL 的调用。使用子程序不仅可以提供模块化程序设计的条件,而 且便于程序的调试及修改等。第三个方面就是其中的一些跳转的问题,这个用起 来有点麻烦,但是这个用起来比较方便,所以文中很多很多的地方都用到这个跳 转。比如:JMP,JNC,JC 等。 在这个游戏的设计中,其实也遇到很多的困难,比如说一些寄存器使用冲突 的问题 ,还有一些是宏的使用问题和当中跳转的问题等。4.5 使用说明 ①、汇编过程 A、把源程序汇编成*.OBJ 文件。方法是:在 DOS 环境中找到*.ASM 的目 标文件,然后输入 MASM * .ASM,然后按回车就可以生成目标文件.OBJ 了。B、再输入 LINK .OBJ,在按回车就可以得到可执行文件*.EXE 了。 ②、运行程序 在我们用的软件 MASM 的目录下,我们可以找到*.EXE 文件,双击就可以 打开了。 再有就是在 DOS 的环境下, 在*.EXE 的文件所在的位置, 直接输入*.EXE 的文件名就可以了,比如说,如果我们的*.EXE 文件在 C:\ MASM\下,我们就可 以在 DOS 环境下在 C:\ MASM\后直接输入*.EXE 的文件名,即*就可以了。 ③、玩游戏

我们通过键盘的上下左右键来控制蛇的行动方向的,即键盘上的键,只需这 四个键就可以了。5. 软件测试 软件测试软件项目在开发完成后还要进行系统测试, 以测试开发出的软件的功能和性能是否达到预定 要求。5.1测试环境硬件环境:普通 PC 机一台 系统环境:Windows XP 软件环境:Masm for windows5.2功能测试情况 功能测试情况图 3 游戏界面经过测试,在游戏中如果蛇头碰到蛇的身体或者是墙壁等部位,游戏自动中断, 本功能运行良好,可以正常运行。 5.3 总结及体会在本次微机原理与汇编语言课程设计实验周中,我们小组选择了“蛇仔游 戏”这个课程设计。在设计过程中遇到了很多困难,我们都在老师与同学的帮助 下,以及通过自己查找资料的方式尽力解决了大部分。通过本次课程设计,我们 掌握了许多实践操作的知识,起到了很好的辅助学习效果。测试过程很艰辛,但 对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经 历是一份拥有。这次课程设计必将成为我们人生旅途上一个非常美好的回忆!

本文来源:https://www.bwwdw.com/article/zwe1.html

Top