打字游戏毕业论文.doc

上传人:仙人指路1688 文档编号:4024709 上传时间:2023-04-01 格式:DOC 页数:12 大小:882KB
返回 下载 相关 举报
打字游戏毕业论文.doc_第1页
第1页 / 共12页
打字游戏毕业论文.doc_第2页
第2页 / 共12页
打字游戏毕业论文.doc_第3页
第3页 / 共12页
打字游戏毕业论文.doc_第4页
第4页 / 共12页
打字游戏毕业论文.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《打字游戏毕业论文.doc》由会员分享,可在线阅读,更多相关《打字游戏毕业论文.doc(12页珍藏版)》请在三一办公上搜索。

1、打字游戏设计摘 要:本文的主题是设计打字游戏,是在VB的环境下编程的。在户联网飞速发展的今天,电脑成了每家每户的多需要的平台,打字的速度也是人们所追求的。本文主要设计的是对键盘的熟悉程度,用户可以根据对键盘的认识程度选择相应的级别来完成打字测试。用户完成打字测试,可以进入一个测试结果窗体,这个窗体清楚的显示出用户击中字符的个数和没有击中的数目。用户通过这个窗体可以更好的认识到自己对键盘上的字符还有哪些不熟识的。关键词:打字游戏 ;测试;设计;引言随着科学技术的不断提高,计算机科学日渐成熟,计算机已经深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还

2、不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这个程序,也是我的毕业设计,希望能对电脑处学者和想提高打字速度的朋友有所帮助。1 设计思路 在打字之前,由用户选择所需要的打字级别,该系统设置是通过一组单选按钮来实现的。本系统的关键在于如何实现打字练习。首先,应使字符以随机方式出现在窗体中,并不断下落,其中字符的出现方式与用户的具体设置相关。 本系统中采用了命令按钮来表示不同的随机字符,该数组的每个元素为一个命令按钮,用来显示一个字符。为了使不同的字符多能在窗体的顶端位置出现并下落,可在设计时设置各命令按钮的具体位置多在窗体的顶端。而实现出现字符的随机出现方式,应在命令按钮的cap

3、tion属性中使用随机函数,使之代表不同的字符。字符的自动下落过程由定时器Timer1Timer6控制命令按钮,下落速度取决于用户设置的练习速度。 用户在不断按键的时候,会引起Keypress事件,在该事件中可判断用户的输入是否和当前命令按钮数组中某个元素的Caption属性值性质相同,即判断是否击中了出现在窗体中的某个字符。如果击中,则使用Move方法把图片Image1移动到被击中字符的位置出现子弹击中图标的视觉效果。如果没有击中目标,则所有的字符仍继续下落。用户可以随时按下Esc键来结束程序的运行,在此期间你可以查看自己的排行榜。2 方案的初步选定 我做的毕业设计是一个打字游戏,我选择的是

4、在Visual Basic6.0的环境下编程的。因为我在编程方面还不是很熟练,所以我设计了一个很简单的打字游戏。游戏里面涉及到的是键盘上的操作,及是对键盘的熟悉程度,游戏系统里面主要涉及到的是optionbutton、commandbutton、timer、label、framel、commandialog等一些主要控件的应用。 这个打字游戏的最突出的地方就是当用户按下Esc键后,会弹出一个测试结果窗体,这个窗体详细记录了用户打字的情况,窗体分成两个部分分别是测试数据分析和您的测试结果。用户通过这个窗体,可以清楚的知道自己的打字能力,还可以看出在哪些地方还需要改进,让用户一目了然。这个界面在其

5、他的一些打字游戏中还没有出现,我设计这个界面就是想让用户更清楚的看见自己在哪里的不足,对键盘上的哪些键还是比较陌生的,对哪些键盘上的字母、数字及特殊符号在哪个位置比较清楚。3 需求分析3.1 用户需求分析 在当今社会的情景下,电脑的发展不管是在硬件还是软件每天多在不断的更新中,随着时代的脚步,人们在使用电脑过程中对打字的速度的要求也越来越高,在现在的电脑使用者之中,大部分人多在使用金山打字因为里面不管是在功能还是在界面设计中,多是非常好的。所以我也设计了一个打字游戏,虽然不能跟金山打字相比,里面没有那么多的功能,但是这个系统还是有它的可取之处,我相信对刚接触电脑或电脑初学者多是有一定帮助的。

6、3.2确定系统开发环境 由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境: 服务器平台:Windows2000/2003/XP;客户机平台:Windows9598NT2000/XP; 前端开发工具:visualBasic6.0(企业版);Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事

7、件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。4.系统总体设计4.1 系统的目标与功能设计 系统开发的总体任务是实现打字练习,希望通过这个打字系统能对电脑初学者和想提高打字速度的朋友们有所帮助。 本系统需要完成的功能有以下几点: 1)、一开始进入游戏要先设定名字,以方便进入后面游戏排行榜。 2)、用户对打字难度的级别选择。 3)、用户进入打字主界面,根据用户对速度的选择,窗体上出现相应程度的字母及符号击中时出现子弹击中图标的视觉效果。 4)、查看用户测试的详细报告。 5)、根据测试的成绩进行名次排行。系统的主要目的是实现打字功

8、能,通过用户登入系统进入系统主界面实现打字游戏,然后根据用户的打字速度,系统自动进行排行。打字游戏的工作流程图如图1所示:关于系统消息用户排行榜用户登入初级中级专家级狂人级打字游戏测试结果 图1: 系统工作流程图4.2 打字游戏系统的实现 4.2.1 初始化处理当设置了用户所需要的级别后,进入系统主界面之前,在FormLoad事件中进行初始化处理初始化随机出现的字母。所以变量code、steps(i)应为模块级的变量,需要在通用-声明段进行如下说明:Option ExplicitDim code, steps(i) As Integer为Image加载图片Image控件只能用于显示图片,在代码

9、运行时可借助LoadPictuer函数来设置其Pictuer属性。LoadPictuer函数的使用格式为:LoadPicture(filename)其中参数filename指定了图形文件及所在的磁盘和目录;如果该参数为空字符串(“”),则会取消控件中的图片。4.2.2、程序的登入 在一开始游戏时往往多有用户登入这一模块。所以当用户开始使用这个打字游戏时,一开始即进入“请输入你的姓名”对话框。这个对话框的作用是登记进入该游戏的用户的名字以方便于用户在进行打字、结束游戏时可以进入游戏用户排行榜,方便查找用户本身的排名。排行榜界面如图2所示:图2:打字游戏排行榜界面该界面就是通过一开始用户登入这个界

10、面进来的,在通过用户姓名登入进入到打字界面,排行榜是根据用户的打字速度来排行的。该界面分别显示4个排行榜,代码如下:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: Frame1.Caption = 初级测试排行榜: flag = 1: Call level_tip Case 1: Frame1.Caption = 中级测试排行榜: flag = 2: Call level_tip Case 2: Frame1.Caption = 专家级测试排行榜: flag = 3: Call level_tip C

11、ase 3: Frame1.Caption = 疯狂级测试排行榜: flag = 4: Call level_tip End SelectEnd Sub4.3 打字游戏的系统设置 当用户登入时,系统会自动进入“级别选择”这 一个窗体。通过这个“级别选择”窗体,用户可以选择自己所需要的级别来测试。这一个窗体是由一个单选按钮组成的控件数组、两个命令按钮和一个文本框组成的。这组控件数组分别为初级、中级、专家级及狂人级,初级即是为初学者提供的,初级里面涉及到只是一些小写字母,这个级别里的字母多是很简单的,纯粹是一些小写字母,所以当你是刚接触电脑或是电脑初学者或者是对电脑的键盘不熟悉,你多可以选择这个级

12、别来练习;中级是涉及到有关大写和小写的混合,这个级别相当于初级是有一点难度的,因为里面的字母是随机出现的,所以这个级别是有一定难度,但是如果你对键盘有点熟悉的话,其实也是很简单的;专家级的涉及到的是有大写、小写、还有数字字符,这个难度就是很大的,这个级别就是要用户对键盘相当的熟悉,通过这个练习打字对你的速度提高是有很大的帮助的;还有一个就是狂人级的级别,这个级别涉及到的是上面所提到的多有,还涉及到一些特殊字符,这个级别的难度是非常大的,这个要求是用户到键盘的熟悉度是很高的。界面如图3所示:图3:打字游戏级别选择界面该界面很简单的只要通过下面的一段程序就可以了实现了:Private Sub Op

13、tion1_Click(Index As Integer) level_choice = Option1(Index).Caption level = Index + 1End Sub 在用户进入打字主界面时,界面将出现由用户选择的难度的字母出现在窗体中,并不断下落,当用户击中时,屏幕上将出现子弹击中目标的视觉效果,并修改测试结果窗体上的用于显示成绩的标签的Caption属性值,同时重新设置被击中命令按钮上的显示字符,初始化该命令按钮的Top属性值,以使命令 按钮从窗体上方重新下落。如果没有击中目标,则所有的字符仍继续下落。为使命令按钮上的字符能随机出现在窗体中,应使用随机函数。首先,通过Ra

14、ndomize初始化随机数生成器。由于 用户选择的打字难度和速度不同,用户可能选择初级、中级、专家级及狂人级,因此要根据窗体中的单选按钮的值,自动生成字符。例如,如果用户选择了初级,则窗体中的Option1.Value的值为True。小写字母的ASCLL码范围为97122,因此随机字符的ASCLL码值可以通过语句temp = Rnd * 6,依temp的随机值产生相应随机类型的字符。为使字符能够记录丢失的字符数及字符在顶端的初始状态,我对定时器做如下处理:If Command1(0).Top = 0 Then Call new_char(0): Command1(0).Caption = Ch

15、r(code) If Command1(0).Top main.ScaleHeight - Command1(0).Height Then Command1(0).Top = Command1(0).Top + steps(0) Else lost_letter = lost_letter + 1 记录丢失的字符数 Command1(0).Top = 0 挨到了底边就将其置于初使状态(顶部) End IfEnd Sub通过对6个定时器的处理,字符会自动下落,在没有被击中的字符自动被记录到测试结果界面中。用户可以随时按下Esc键结束程序的运行,程序可以通过语句ElseIf KeyAscii =

16、27 Then Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False Timer5.Enabled = False Timer6.Enabled = False判断用户是否按下Esc键如果按下,4秒钟后系统会自动转到测试结果窗体,用户在该窗体中查看用户自己的击中字符及数字字符或是特殊符号的个数,在该窗体中,用户可以看出自己在这个级别测试时的速度、时间、击中率和击键次数。下面是测试结果窗体的界面如图4所示:图4:打字游戏测试结果界面 在测试结果窗体中,用户可以在文件这

17、个目录中打开用户排行榜,这个排行榜也是分为初级排行榜、中级排行榜、专家级排行榜及狂人级排行榜。因为在打字的过程中用户有可能没有按键或者是打字的时间为0,所以在程序中应加进以下代码:If right_letter = 0 Then Label4(5).Caption = 0 & % Else hit_rate = Val(right_letter) / (total_keypress - 1) * 100 Label4(5).Caption = Format(hit_rate, #0.00 ) & % End If Label4(6).Caption = total_keypress - 1 I

18、f user_time = 0 Then Label4(7).Caption = 0 & Space(1) & char/s Else speed = Val(right_letter) / user_time * 2 Label4(7).Caption = Format(speed, 0.00 ) & char/s待添加的隐藏文字内容1 End If4.4 对用户按键和击中字符的处理(1)、当用户按下键盘上的按键时,有以下3中情况发生:1)击中了窗体中的字符时,总成绩提高,显示击中视觉效果,重新设置该按钮的位置和显示字符。2) 没有击中窗体中的字符时,不做任何处理。3) 按下Esc键时,结束

19、程序。对上述3中情形,都是在按下按键时进行相应的处理,即在Form的KeyPress事件中加以处理。(2)、在vb设计语言中,KeyPress事件中的参数KeyAscill的值返回用户所按字母的ASCII码值。根据该值,通过Chr函数可以得到用户单击的字符,用这个字符逐个跟命令按钮的Caption属性值进行比较,判断是否击中了其中的某个字符,代码如下所示: For i = 0 To Command1.count 1 If Commanda.Item (i) .Caption = Chr(KeyAscii) Then End If Next如果击中了某字符,应在该字符所在位置显示被击中的视觉效果

20、。采用移动Image1控件的方式,将它移动到被击中字符的位置,并使该控件中的图片可见: Image1.Visible = True Image1.Top = Command1.Item(m).TopImage1.Left = Command1.Item(m).Left 300击中字符时总成绩也要增加,而本系统中成绩的增加和用户设置的级别相关。5 总结上面这就是我写的论文,通过这三个月的时间,我终于完成了这篇论文。本文设计的打字游戏主要是针对用户对键盘的熟悉程度,本文只是很简单的打字游戏,功能比较单一,没有像金山打字通有那么多的功能,但是我会继续努力的,使该系统的功能尽可能的完善。致谢论文已经写

21、结束了,写这篇论文时因为还处在实习阶段,很多地方都不懂,通过这篇论文,我对用vb编程这一方面的了解又多一些知识。在这里我要谢谢我的论文指导老师,在我写论文的这段时间,我得到了老师的大力帮助,在此我要对她表示衷心的感谢,感谢她对我的论文提出的各种修改意见,使我的论文有了一个本质的提高。参考文献1 杨晶洁,郑有增.visual basic程序设计教程,科学出版社,20062 龚沛曾,陆慰民,杨志强. Visual Basic程序设计简明教程,第二版 3 刘瑞新,李树东. Visual Basic 程序设计教程,电子工业出版社 4 梁曦.Visual Basic程序设计与应用开发 案例教程,中国电力出版社 5 刘炳文.Visual Basic 程序设计试题汇编,清华大学出版社 6 罗朝盛.Visual Basic 6.0 程序设计实践指导,浙江科学技术出版社7 傅英.vb程序设计,电子工业出版社,20018 林卓然.vb语言程序设计,电子工业出版社,2009实际成果(照片)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号