打字练习程序.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
打字练习程序 电气0701 尤烁、吴亚君、孟德才 实现效果 从屏幕上方下落字母,从键盘输入字母,若输入正确,字母消失,效果如下。 任务分工 孟德才主要负责查找各种资料,并且搜集类似程序。 吴亚军主要负责编写程序。 尤烁主要负责调试及编写最后总结ppt。 设计思路 程序要求建立一个打字游戏,在运行程序时可以自行判断输入按键的真确性。从而加快使用者熟悉键盘的过程。 一开始拿到题目时感觉无从着手,特别对于程序中随机部分不知道怎么处理。总认为随机就是要处理一个很复杂的程序,让计算机本身自动生成毫无规律的随机乱码。这让我思考了好长一段时间。后来了解到,就算是随机也是有规律可以追寻的。就26个字母乱序而言,可以自己编写一组乱序存储到计算机中,然后设置一个加数,从起始位置起每次与加数相加这样依次选取后一个字母,这样就可以达到随机生成字母乱序的目的。采用一些简单而巧妙的方法可以方便的完成许多看似困难的问题。 考虑到设计程序的复杂性,可以将程序分为几个不同的部分加以设计和思考。比如分为游戏准备部分、随机显示字母部分、字母下落部分、字母消失和显示部分、检测按键正确与否部分、输入错误计数部分等。这样一个一个部分分别思考,最后再将所有部分有机的结合起来,这样可以让程序设计思路清晰化和简明化。 对于程序中的输入与输出及光标设置等问题可以通过DOS功能调用及BIOS功能调用加以解决。程序中需要重复输入的成段的指令可以使用宏定义以减少工作量。 程序流程图 初始化 清屏 开始菜单 键盘输入 下落字母 键盘输入 字母消失 补充字母 字母落至屏幕底部 结束 错误 正确 其他 回车键 主程序 Init_game macro op1,op2,op3,op4,op5,op6 ;屏幕初始化 mov cx,00h mov dh,op1 mov dl,op2 op6:mov ah,02h ;int10h调用,功能号02h,设置光标位置 mov bh,00h ;页号 int 10h push cx ;将原操作数推入ss为段基址,sp为偏移地址的栈中 mov ah,0ah ;int10h调用,功能号0ah,仅写字符 mov al,op3 ;字符 mov bh,00h ;页号 mov cx,01h ;字符数 int 10h pop cx ;将以ss为段基址,sp为偏移地址的栈顶内容,传送到目的操作数 inc cx ;自减运算 inc op4 ;自减运算 cmp cx,op5 ;做减,仅影响标志位 jne op6 ;跳转到op6 endm ;宏定义结束,与macro对应 clear_screen macro op1,op2,op3,op4 ;清屏宏定义 mov ah,06h ;int10h调用,功能号06h,窗口上卷 mov al,00h ;上卷行数 mov bh,07h ;上卷行属性(颜色) mov ch,op1 ;左上角行号 mov cl,op2 ;左上角列号 mov dh,op3 ;右下角行号 mov dl,op4 ;右下角列号 int 10h mov ah,02h ;int10h调用,功能号02h,设置光标位置 mov bh,00h ;页号 mov dh,00h ;行号 mov dl,00h ;列号 int 10h endm ;宏定义结束,与macro对应 menu macro op1,op2,op3 ;菜单显示宏定义 mov ah,02h ;int10h调用,功能号02h,设置光标位置 mov bh,00h ;页号 mov dh,op1 ;行号 mov dl,op2 ;列号 int 10h mov ah,09h ;int21h调用,功能号09h,输出字符串送显示器 lea dx,op3 ;输出字符串的偏移 int 21h endm ;宏定义结束,与macro对应 cursor macro op1,op2 ;置光标宏定义 mov ah,02h ;int10h调用,功能号02h,设置光标位置 mov bh,00h ;页号 mov dh,op1 ;行号 mov dl,op2 ;列号 int 10h end

文档评论(0)

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

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

1亿VIP精品文档

相关文档