打字游戏程序设计报告

打字游戏程序设计报告

ID:25482762

大小:198.00 KB

页数:33页

时间:2018-11-20

打字游戏程序设计报告_第1页
打字游戏程序设计报告_第2页
打字游戏程序设计报告_第3页
打字游戏程序设计报告_第4页
打字游戏程序设计报告_第5页
资源描述:

《打字游戏程序设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章微机应用系统课程设计的目的意义1.1设计目的本次课程设计的目的主要是将课堂上所学的知识学以致用,通过程序的制作过程学习课外的新知识,并加强加深对旧知识的理解与掌握,最终使学生达到以下三点:1.使学生增进对汇编语言的认识,加强用汇编语言编程的能力。2.使学生了解和掌握汇编语言程序设计过程、方法及其实现,为以后微机原理课程的深入学习打下良好基础。3.使学生进一步掌握屏幕输出显示的设计方法。1.2课程设计在教学计划中的地位和作用《微机计算机原理与接口技术》这门课是自动化和电子等专业重要的基础专业课程之一,要求我们要有实际的动手能力。由于我们在课堂上学到的大多都是理论知识,所以需要通

2、过课程设计这个环节,把我们所学到的知识运用到实践,这也是课程设计的主要目的,其中包括提高汇编等语言的编程能力及对接口等硬件的理解与分析能力和设计接口电路的能力。本次设计课题使我们在汇编等语言的编程方面得到了很大的提高,是我受益匪浅。原本陌生的和不太熟悉的指令程序及各种定义,现在都有了一些认识及更深的理解。这对我们以后走向社会,更快地适应工作奠定了很好的基础。33第二章打字游戏程序设计内容要求和设计思想2.1设计内容要求要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏;按ESC键返回主界面;按空格暂停;按大写字母E程序结束。26个字母中的任意一字母从屏幕落下,在下落的过程中键

3、入落下的字母,如果正确,字母消失,分数增加;如果不正确,字母继续下落。接着继续下落其他字母,如果不正确的字母数大于10个,则游戏结束并返回到成绩界面。进入成绩界面后显示所得游戏分数,暂停大概2秒后返回到主菜单。2.2整体设计思想程序首先通过宏的定义以及调用宏来画出游戏边框,再通过定义一个函数并调用MOVAH,09INT21H来显示字符串,DS:DX定义字符串位置。游戏主程序调用BIOSINT10的9号功能实现对目标文本的颜色和定位。游戏主程序可以用MOVAH,00INT16H从键盘读取输入的字符再调用MOVAH,01INT21H让键盘输入显示在屏幕中AL=输入的字符,用CMP指令对

4、输入的文本和目标文本进行比较,再利用选择语句在打错字符后对wrong的基数加1,在打对字符后对right的基数加1,并调用清屏函数clear将该字符消除。对于要求柱形图实时显示正确和错误的数目,可以通过利用“*”在竖向上叠加来实现,字符串结束后直接退到dos环境。332.3整体设计方案流程图开始欢迎界面结束速度选择1,2,3游戏运行游戏结束ESCEENTER输入字母并进行相关操作后返回显示成绩图2.133第三章软件设计3.1程序流程详细说明首先运行程序,进入主界面,通过键盘输入字符,先判断是否是“E”,是则直接退出,如果不是“E”,则进入下一步判断是否为数字1,是就按速度1下落字母

5、,否就进入下一步判断,是否为数字2,是就按速度2下落字母,否就进入下一步判断,是否为数字3,是就按速度3下落字母,否就返回重新输入。字母随机下落的过程中,检查键盘是否输入ESC,是就返回到主界面,否就继续下落,接着判断玩家输入的字母跟下落的字母是否一样,是就清除该字母,并使RIGHT的基数加1,否就使WRONG的基数加1,接着判断WRONG是否大于10,否就又重新随机下落一字母,是游戏就结束并显示最终成绩,接着就返回到主界面等待新的指令。3.2程序流程图33开始主界面键盘输入是否E是否1速度1是否2速度2是否3字母随机落下检查键盘是否ESC速度3输入字符正确结束下落字母消失33WR

6、ONG+1WRONG>10显示最终成绩RIGHT+1图3.13.3重点子程序分析3.3.1随机产生字母先初始定义一个由61个无序字母组成的字母列STRD,此字母列包含从A-Z26个字母,将STRD的偏移地址存在DI中,又将字母列的备份存在SI中,定义一个计数寄存器CX,首先置CX为0,程序每产生一个随机字母后CX自动加1,并且比较每次循环时CX是否已经大于61,如果大于61则对屏幕初始化置0,如果大于则继续随机下落字母。3.3.2字母的下落字母的下落是整个程序的核心部分,实现该功能的原理是让字母在规定的时间间隔内多次显示,字母每次下移1位,同时上一位自动以空格代替,这样在视觉上就起

7、到了字母自动下落的效果,下落的速度由我们自己决定,本程序中设置了三种速度。333.4程序中使用的部分重要指令3.4.1通用数据转送指令MOV它表示把操作数(SRC),转送给目的操作数(DIST),源操作数不变,目的操作数被源操作数所替代。转送指令每次可以转送一个字节或一个字,可以实现CPU的内部寄存器之间的数据转送、寄存器和内存之间的数据转送,还可以将立即数送给CPU内部的寄存器。本设计中大量的用到了MOV指令,如MOVAH,0AHMOVAL,OP3MOVCX,01H

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。