ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:117.11KB ,
资源ID:8020107      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8020107.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB设计报告.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VB设计报告.docx

1、VB设计报告南京工程学院课程设计说明书(论文)题目 打字练习 课 程 名 称 VB语言课程设计 院 (系、部、中心) 专 业 班 级 学 生 姓 名 学 号 设 计 地 点 图书馆基础教学机房 指 导 教 师 设计起止时间:201x年x月x日至201x年x月x日一、设计任务 1.题目介绍 在计算机及其他数码产品日益普及的今天,人们使用键盘应像用笔写字一样熟练。进行打字练习时熟悉键盘并提高打字速度的好方法。本体要求编制一个打字练习游戏程序,使用户在游戏过程中进行打字练习。 2.功能要求(1)启动界面如图1(2)选择难度和速度后,单击“开始”按钮,界面如图1。若选择简单,则落下字母;若选择复杂,单

2、击开始后出现对话框,如图2.单击确定,开始练习,落下单词。(2)若用户在字符落到屏幕底部之前敲击了相应的键盘键,则该字符被“击中”然后消失。根据程序速度和难度的设置自动进行积分,实时分数 时间 正确率 掉落个数显示在窗体的上部。积分规则:正确击中一个字母或一个单词,加一分;反之,不得分,亦不扣分。(4)当游戏者单击“暂停”按钮时,程序停止运行,在单击“开始”按钮,程序继续运行;当单击“退出”按钮时,则弹出对话框(如截图示例3),单击“取消”按钮,程序继续运行,单击“确定”按钮,则弹出对话框(如截图4),此时对话框显示分数,单击“确定”按钮,退出程序。(5)为了增加视觉效果,每个掉落的字符的颜色

3、随机产生。二、方法原理根据题目要求,使用控件数组,用标签标题表示字符,键盘事件的处理判断打字正确与否,随机值的产生方法随机产生字符,用Timer控件属性反映时间、控制字符下落速度。三、总体设计思路首先在窗体上画出三个按钮标题分别为开始、暂停、退出。画六个标签分别表示已落字母个数、已花时间、得分与正确率。画出一个含有五个元素的标签控制数组用以显示字符。画出两个时间控件,一个用来返回已用时间,一个控制字符下落。最后编写相关代码四、程序调试和解决问题 五个标签所显示的字符始终不变。调试:当打字正确或标签落到屏幕底部之后重新让标签标题取随机字符 五、完善及存在的问题 存在的问题:打错字后没有相应的减分

4、措施。 正常打字应是练习打汉字,而不是打西文字母,应该进成打汉字练习。完善:取一百个汉字,赋值给一个字符串类型的数组,用产生随机数的方法确定数组下标从而随机取汉字,标签的标题用随机产生的汉字字符表示。六、收获体会“纸上得来终觉浅,绝知此事要躬行”。通过这次课程设计我懂得了vb课程设计就是培养我们综合运用所学知识、提高我们发现问题、分析问题、解决问题的能力的。通过这一周的课程设计我不仅巩固了所学vb知识,还接触到了很多新的知识点。我了解到很多时候理论远远比实践简单,很多时候我们只有把所学的理论知识与实践结合起来才能真正理解理论,才能得到真正的提高。由于是第一次做这种相对复杂的程序设计,在课程设计

5、中我遇到了很多困难发现了自己在vb这门课上的很多不足之处,很多知识只有模糊的记忆,不能灵活地运用,通过这次实践我体会到神么叫温故而知新。学习中我们要不断对前面所学进行回顾。这次实践不仅增加了我的vb知识,还让我明白了遇到困难我们要保持沉着冷静的心态,只要我们有有一种坚定不移的执着以及永不言弃的精神坚持做下去很多困难就会迎刃而解。做一个程序设计实在很不容易,其中要用到很多知识,需要翻阅大量书籍,尤其是在资料上根本找不到的设计,但是收获同样是很大的,在翻阅书籍的过程中,再请教别人的过程中,我得到的不仅仅是知识,还有很多经验,我学会了自学,学会了和别人交流合作。七、意见建议 也许老师平时讲到一个代码

6、或者函数的时候,随即讲解一个与之相关的程序,运行下,会更好。也可以在电脑房上课。或者下次上课的时候还可以让我们自己带上电脑,随时随地就可以练习。八、示例截图 图1 图2 图3 图4九、附录1(代码)Dim h As IntegerDim n As IntegerPrivate Function suiji() 随机产生字母和随机选取单词函数Dim a As IntegerDim ci As StringDim b As StringRandomizeword = Array(sway, sneak, naked, maple, ample, lough, plasma, tude, plagu

7、e, pledge, play, prowl, pluckbandit, gangster, commemorate, solar, elipse, luna, lunatic, tumble, mortal, moral, fade, flinch, spout, sprout, spurn, spoil, sparrow, sprain, plasma, mare, malady, glisten, bereave, glimme, rslim, crave, amiable, able, blizzard, lizard, bruise, bromide, place, bale) 存放

8、供练习的单词b = Int(Rnd * (UBound(word) + 1) 产生单词序号a = Int(122 - 97 + 1) * Rnd + 97) 产生97到122之间的整数If Option1.Value Then suiji = Chr(a) 如果选择简单单选框,则函数的返回值为小写字母Else suiji = word(b) 如果选择复杂单选框,则函数的返回值为单词End IfEnd FunctionPublic Sub Command1_Click() 开始按钮Dim i%If Option2.Value Then i = MsgBox(输入单词后,请按空格键确认, , 注意

9、) 操作提示End If For i = 0 To Label1.Count - 1 Label1(i).Visible = True Label1(i).Caption = suiji Label1(i).ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 随机产生字母,单词,颜色随机Next Timer1.Enabled = True Timer2.Enabled = True Option1.Enabled = False Option2.Enabled = False Command1.Enabled = False 将计时器,速度调节,难

10、度选择和开始按钮禁用 Text1.SetFocus 将焦点转移到文本框End SubPrivate Sub Command2_Click() 暂停按钮Timer1.Enabled = FalseTimer2.Enabled = FalseCommand1.Enabled = TrueEnd SubPrivate Sub Command3_Click() 退出按钮If MsgBox(确定要退出?, vbYesNo) = vbYes Then MsgBox 得分 & h & 分, , 成绩 退出提示 Unload Me 关闭窗体End IfEnd SubPrivate Sub Form_KeyPr

11、ess(KeyAscii As Integer)Dim b As IntegerDim c As IntegerIf KeyAscii = 97 And KeyAscii b Then 判断字母是否已经落出 c = i End If End If NextElseIf KeyAscii = 32 Then 如果敲了空格,则进行单词比较操作 For i = 0 To Label1.Count - 1 遍历所有产生字母 If Label1(i).Caption = ci Then 判断产生的单词和输入的单词是否相等 If Label1(i).Top b Then 判断字母是否已经落出 c = i

12、End If End If Nextci = End If End IfIf c -1 ThenLabel1(c).Top = -10 如果输入正确,则将字母标签隐藏到顶部Label1(c).Caption = suiji 字母标签随机产生字母h = h + 1 如果输入正确,则得分加1Label5.Caption = 当前得分: & h 显示当前得分Else: n = n + 1Label3.Caption = 掉落个数: & n 显示掉落个数End IfEnd SubPrivate Sub Timer1_Timer()Timer1.Interval = 1000For i = 0 To L

13、abel1.Count - 1 Label1(i).Top = Label1(i).Top + 500 控制字母,单词移动,以及移动速度 If Label1(i).Top Form1.Height Then n = n + 1 记录掉落个数 Label3.Caption = 掉落个数: & n Label1(i).Top = -10 Randomize Label1(i).ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) 产生颜色 End If If n = 26 Then If MsgBox(已经错过 & n & 个,重新开始?, vbYesN

14、o) = vbYes Then 提示框 Form_Load Form1.Command1_Click Else Form_Load 控制重新游戏还是结束游戏 End If End IfNextEnd SubPrivate Sub Timer2_Timer()Timer2.Interval = 1000If (n + h) 0 Then Label6.Caption = 正确率: & h / (n + h) * 100 1 & % 显示正确率End IfStatic s s = s + 1Dim miao As StringDim fen As StringDim shi As StringIf

15、 s Mod 60 10 Then miao = 0Else miao = End IfIf (s Mod 3600) 60 10 Then fen = 0Else fen = End IfIf s 3600 10 Then shi = 0Else shi = End If Label4.Caption = 时间 & shi & s 3600 & : & fen & (s Mod 3600) 60 & : & miao & s Mod 60 显示已用时间End SubPrivate Sub Form_Load()Text1.Top = -1000Label6.Caption = 正确率:0La

16、bel4.Caption = 时间 00:00:00Label3.BackStyle = 0Label4.BackStyle = 0Label5.BackStyle = 0Label6.BackStyle = 0 将标签2到6的背景设为透明For i = 0 To Label1.Count - 1 Label1(i).Visible = False 将标签Label1(1)到Label1(5)的初始状态设为不可见 Label1(i).Top = 600 * (i + 1) 设置字母或单词的的位置 Label1(i).Caption = suiji 最初出现的字母或者单词 Label1(i).F

17、ontSize = 25 设置字体大小 Label1(i).AutoSize = True 标签大小自动可调 Label1(i).BackStyle = 0 透明Next Label3.Caption = 掉落个数: & n Label5.Caption = 当前得分: & h Label5.ForeColor = RGB(0, 255, 0) Label3.ForeColor = RGB(0, 255, 0) Label6.ForeColor = RGB(255, 0, 0) Label4.ForeColor = RGB(255, 0, 255) 设置字体颜色End Sub十、附录2(主要参考资料)1.VB课程设计简明教程(第三版)(高等教育出版社)2.VB课程设计(清华出版社)教师评语:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2