打字游戏程序设计报告

第二章 打字游戏程序设计内容要求和设计思想

2.1 设计内容要求

要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏;按ESC键返回主界面;按空格暂停;按大写字母E程序结束。26个字母中的任意一字母从屏幕落下,在下落的过程中键入落下的字母,如果正确,字母消失,分数增加;如果不正确,字母继续下落。接着继续下落其他字母,如果不正确的字母数大于10个,则游戏结束并返回到成绩界面。进入成绩界面后显示所得游戏分数,

暂停大概2秒后返回到主菜单。

2.2 整体设计思想

程序首先通过宏的定义以及调用宏来画出游戏边框,再通过定义一个函数并调用MOV AH,09 INT 21H 来显示字符串, DS:DX定义字符串位置。游戏主程序调用BIOS INT 10 的9号功能实现对目标文本的颜色和定位。游戏主程序可以用MOV AH,00 INT 16H从键盘读取输入的字符再调用MOV AH,01 INT 21H 让键盘输入显示在屏幕中 AL=输入的字符,用CMP指令对输入的文本和目标文本进行比较,再利用选择语句在打错字符后对wrong的基数加1,在打对字符后对right的基数加1,并调用清屏函数clear将该字符消除。对于要求柱形图实时显示正确和错误的数目,可以通过利用“*”在竖向上叠加来实现,字符串结束后直接退到dos环境。

2.3 整体设计方案流程图

开始欢迎界面

开始

欢迎界面

结束

速度选择

1,2,3

游戏运行

游戏结束

ESC

E

ENTER

输入字母并进行相关操作后返回

显示成绩

图2.1

第三章 软件设计

3.1 程序流程详细说明

首先运行程序,进入主界面,通过键盘输入字符,先判断是否是“E”,是则直接退出,如果不是“E”,则进入下一步判断是否为数字1,是就按速度1

下落字母,否就进入下一步判断,是否为数字2,是就按速度2下落字母,否就进入下一步判断,是否为数字3,是就按速度3下落字母,否就返回重新输入。

字母随机下落的过程中,检查键盘是否输入ESC,是就返回到主界面,否就继续下落,接着判断玩家输入的字母跟下落的字母是否一样,是就清除该字母,并使RIGHT的基数加1,否就使WRONG的基数加1,接着判断WRONG是否大于10,否就又重新随机下落一字母,是游戏就结束并显示最终成绩,接着就返回到主界面等待新的指令。

3.2程序流程图

开始主界面

开始

主界面

键盘输入

是否E

是否1

速度1

是否2

速度2

是否3

字母随机落下

检查键盘

是否ESC

速度3

输入字符正确

结束

下落字母消失

WRONG+1WRONG>10

WRONG+1

WRONG>10

显示最终成绩

RIGHT+1

图3.1

3.3 重点子程序分析

3.3.1 随机产生字母

先初始定义一个由61个无序字母组成的字母列STRD,此字母列包含从A-Z 26个字母,将STRD的偏移地址存在DI中,又将字母列的备份存在SI中,定义一个计数寄存器CX,首先置CX为0,程序每产生一个随机字母后CX自动加1,并且比较每次循环时CX是否已经大于61,如果大于61则对屏幕初始化置0,如果大于则继续随机下落字母。

3.3.2 字母的下落

字母的下落是整个程序的核心部分,实现该功能的原理是让字母在规定的时间间隔内多次显示,字母每次下移1位,同时上一位自动以空格代替,这样在视觉上就起到了字母自动下落的效果,下落的速度由我们自己决定,本程序中设置了三种速度。

3.4 程序中使用的部分重要指令

3.4.1通用数据转送指令MOV

它表示把操作数(SRC),转送给目的操作数(DIST),源操作数不变,目的操作数被源操作数所替代。转送指令每次可以转送一个字节或一个字,可以实现CPU的内部寄存器之间的数据转送、寄存器和内存之间的数据转送,还可以将立即数送给CPU内部的寄存器。本设计中大量的用到了MOV指令,如MOV AH,0AH MOV AL,OP3 MOV CX,01H MOV BH,00H 等等,以实现起数据的传送。

3.4.2 无条件转移指令JMP、CALL、RET

(1)当程序中出现JMP指令时,无条件的跳至JMP后所跟的变量处。其主要有段内短转移、段内直接转移、段间直接转移、段内间接转移、段间间接转移、段内间接转移等操作。

(2)CALL指令为调用子程序,其功能为保护程序断点后,转到子程序处执行。主要包括段内调用和段间调用。

(3)RET返回指令,通常与CALL指令连用,从子程序返回主程序,通常放在子程序之后。也包括段内返回和段间返回。

3.4.3 条件转移指令

条件转移指令是根据执行该指令时CPU标志的状态而决定是否发生控制转移的指令。如果满足条件则程序转移到指定的目标地址;如果不满足则继续执行该

c语言打字游戏程序设计报告,打字游戏程序设计报告.doc相关推荐

  1. c语言 倒计时不清屏_打字游戏超细讲解(C语言基础小游戏)

    首先我们会发现我们网上看到的打字游戏都是上来就敲代码,小白看的一脸懵,所以鑫哥在这给大家送上一份超级详细的打字游戏编写流程及对应的结果展示,希望可以帮到小白进行入门学习. 话不多说,我们先看一下什么叫 ...

  2. c语言程序设计 猜数字,C语言程序设计(猜数字游戏)报告.doc

    C语言程序设计(猜数字游戏)报告 <高级语言程序设计>课程设计 题目:班级:09R3 学生姓名:谢泽雄 学生学号:200931000622 指导老师:提交时间:华南农业大学信息(软件)学院 ...

  3. 《Java语言程序设计——坦克大战单机游戏》源码以及实验报告

    一.引言 游戏本身是一种娱乐方式,带给人无尽的乐趣,而且游戏行业的发展前景也将会是是带动周边相关行业的发展.为了去满足不同的游戏爱好者的要求,对做游戏开发的人的要求也会越来越高.本次Java语言程序设 ...

  4. 计算机打字训练教学教案,打字练习小游戏教案.doc

    XXXX大学 C#课程设计报告 打字练习小游戏 院(系)别 专 业 班 级 学 号 姓 名 指导教师 二○XX年XX月 摘 要 随着社会经济的发展,计算机在生活占据着越来越重要的地位,如何高效快速的使 ...

  5. 2048游戏c语言实验报告,2048游戏语言实验报告.doc

    2048游戏语言实验报告 成绩评定 教师签名 评定日期 嘉应学院 计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015-2016学年第1学期 班 级: 计算机1505 指导老师: 陈广明 ...

  6. c语言射击类小游戏任务书,(c语言课程设计报告小游戏“石头剪子布”.doc

    (c语言课程设计报告小游戏"石头剪子布" <C语言课程设计>报告 题目:石头剪子布 班级: 学号: 姓名: 指导教师: 成绩: 目 录: 一.选题背景- 3 - 二.设 ...

  7. C语言输入输出及选择结构程序设计的综合应用——简单超级战士游戏and 取牙签游戏

    最全C系列题目!从0到管理系统 一.C语言数据类型及输出--体重是否正常.球的体积.计算存银行利息and浮点数长度与精度 二.C语言运算符与表达式--输出逆序数and二进制包含0和1的数量and判断是 ...

  8. Python语言程序设计--猫和老鼠小游戏

    摘  要:Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从 ...

  9. c语言程序设计 猜数字,猜数字游戏c语言编程,c语言编程 编一个猜数字游戏

    c语言编程 编一个猜数字游戏 #include #include #include #include void main()/*主函数*/ { int a,b,times=0,i,j,guess=0, ...

  10. 【Unity3d】带你制作一款类似于金山打字之生死时速的小游戏

    上篇文章博主介绍了如何制作一款类似于金山打字的2d小游戏,最近看到了金山打字之生死时速的玩法,决定来复刻一下,还是先分析一下我们要实现哪些功能,第一,打字和小球运动要保持同步进行:第二,小球能够实现距 ...

最新文章

  1. 科隆(Koln)一日游
  2. java算法编程题_【java题目】考验你编程能力和算法的时候到了
  3. python脚本自动化盲注_三、基于报错型注入和sql盲注的自动化实现
  4. 基于qtc++设计文本编辑器的代码_文本编辑器Vim/Neovim被曝任意代码执行漏洞,Notepad:兄弟等你好久了...
  5. 爱了!华为nova 5细节曝光:外观配置堪比Mate 20 Pro
  6. Node.js nrm
  7. 【Vue2.0】—过渡与动画(二十一)
  8. AIR访问操作系统剪贴板粘贴操作延迟呈现解决办法
  9. 《Android游戏开发详解》一1.1 什么是编程
  10. 前端-----文本类标签汇总
  11. WordPress漏洞扫描器wpscan
  12. Windows服务器高并发处理IOCP(完成端口)详细说明
  13. 【读书笔记->统计学】12-02 置信区间的构建-t分布概念简介
  14. 如何用python编写问卷调查_通过Python实现自动填写调查问卷
  15. 某银行Zabbix开源监控系统建设之路
  16. 计算机组装与系统维护技术,计算机组装与系统维护技术.pdf
  17. 小米手机无限重启,两清与三清
  18. Solidworks如何打开swb文件
  19. 怎样区分病毒性感冒和细菌性感冒?
  20. 电商网站产品需求文档目录

热门文章

  1. iOS - 技术储备列表
  2. 迅为i.MX6ULL终结者进程基础-进程创建
  3. 计算机组成原理的复习提纲,计算机组成原理复习提纲.doc
  4. ubuntu配置静态ip的方法
  5. 面试常用mysql语句_50个常用的笔试、面试sql语句
  6. 口红微商怎么引流?微商卖口红需要注意什么?
  7. eeepc linux 软件管理,华硕EeePC 901下EEEbuntu 3.0完美优化教程
  8. H5调用相机,裁剪,压缩照片
  9. 小米 11 ultra旗舰版官方原版ROM系统MIUI12所有固件
  10. android 刷机 zip,安卓自制zip刷机包 zip包刷机脚本函数详细例举教程