320分求VB打字练习源码,最好把整个文件压缩发到我的邮箱:jwill233@163.com发邮箱也给分!!!

1、设计任务进行打字练习时熟悉键盘并提高打字速度的好方法。本题目要求编制一个打字练习游戏程序,使用户在游戏过程中进行指法练习。2、知识要点(1)控件数组;(2)键盘事件处... 1、设计任务
进行打字练习时熟悉键盘并提高打字速度的好方法。本题目要求编制一个打字练习游戏程序,使用户在游戏过程中进行指法练习。
2、知识要点
(1)控件数组;
(2)键盘事件处理;
(3)文本文件的读写;
(4)多模块程序设计;
(5)随机值的生成;
(6)时钟控件的使用。
(7)声音的播放
3、设计要求
(1)程序开始时,单击菜单“打字设置”,出现如下所示的“打字设置”窗口,在“您的姓名”文本框中输入用户名,输入练习时间若未输入姓名就单击“开始练习”或“查看成绩”按钮,则用MsgBox提示用户输入姓名。在“打字设置”窗口可以设置打字练习的速度和难度,速度和难度等级均分为3档。

(2)进行打字设置之后,单击“开始练习”按钮,以全屏方式显示图2所示的主界面。根据难度的设置,屏幕上随机产生并落下各种字符。若用户在字符落到屏幕底部的某个位置之前敲击了相应的键盘键,则该字符被“击中”然后消失。击中时在字符位置显示一个爆炸效果。程序根据速度和难度的设置自动进行计分,分数和剩余时间实时地显示在窗口的右下角。如图所示。计分标准如下所述:

①慢速+小写字母:打中一个1分;
②慢速+大写字母:打中一个2分;
③慢速+所有字符:打中一个3分;
④中速+小写字母:打中一个4分;
⑤中速+大写字母:打中一个5分;
⑥中速+所有字符:打中一个6分;
⑦快速+小写字母:打中一个7分;
⑧快速+大写字母:打中一个8分;
⑨快速+所有字符:打中一个9分;
“所有字符”包括大小写字母、数字和符号字符。
当下落字符中有相同的字符时,一次只能打掉一个。如果按了屏幕上没有的字符则扣一分,如果有字符落到屏幕底部则扣十分。
(3)为了增强游戏的趣味性,可增加背景音乐和打中时的打击声。用BackMusic.mid文件作为背景音乐,使用gunshot.wav文件作为打击声。
(4)打字练习的时间一到,弹出如下所示消息框显示用户本次练习得分,并将用户的成绩保存在“Score.txt”文件中,供以后查询。
在打字过程中,可以按Esc键中止游戏。退出前显示提示信息为“真的要退出吗?”的消息框。使用Esc中止游戏的成绩并不保存。

(5)单击“成绩记录”菜单,调用记事本程序打开“Score.txt”文本文件,显示当前用户每次练习的时间与成绩。如下所示:

4、难点提示
(1)屏幕上随机产生的字符可以用一个标签控件数组来实现,由时钟控件控制字符下落的速度。
(2)可以用KeyPress事件检测所键入的字符是否正确。判断Esc控制键,应该使用KeyDown事件。
5、更进一步
(1)改进程序,在打字背景窗口中添加合适的背景图片。
(2)改进程序,增加游戏的趣味性,可增加背景音乐和打中时的打击声,使用多媒体MMControl控件实现。
答案被采纳补加50分!!!
展开
 我来答
北京钢管中心
2009-08-07 · TA获得超过969个赞
知道小有建树答主
回答量:711
采纳率:0%
帮助的人:0
展开全部
Option Explicit
Dim score As Integer
Dim speed As Integer
Dim typetime As String

'初始化字符1
Sub innt1()
'产生随机大写字母、数字及其他符号
zi1.Caption = Chr(Int(Rnd * 43 + 48))
'起初位置
zi1.Left = Int(Rnd * (mm1.Width - zi1.Width))
zi1.Top = mm1.Top - zi1.Height
End Sub

'初始化字符2
Sub innt2()
'产生随机小写字母
zi2.Caption = Chr(Int(Rnd * 26) + 97)
'起初位置
zi2.Left = Int(Rnd * (mm1.Width - zi2.Width))
zi2.Top = mm1.Top - zi2.Height
End Sub

'开始
Private Sub Command1_Click()
'输入时间
typetime = InputBox("请输入打字时间(单位为秒):", "设置时间")
If IsNumeric(typetime) Then
Label5.Caption = typetime
Else
Exit Sub
End If
'调用子过程
innt1
innt2
'设置默认的下落速度
HScroll1.Value = 50
'开始下落
Timer1.Enabled = True
Timer2.Enabled = True
Command1.Enabled = False
Label3.Caption = 0
'设置时间为2分钟
End Sub

'打字
Private Sub HScroll1_KeyPress(KeyAscii As Integer)
'若打中字符1
If Chr(KeyAscii) = zi1.Caption Then
'重新初始化
innt1
'分数累加
score = score + 1
'显示分数
Label3.Caption = score
End If
'若打中字符2
If Chr(KeyAscii) = zi2.Caption Then
innt2
score = score + 1
Label3.Caption = score
End If
End Sub

'初始化设置
Private Sub Form_Load()
Randomize
Timer1.Enabled = False
Timer2.Enabled = False
zi1.AutoSize = True
zi2.AutoSize = True
HScroll1.Max = 300
HScroll1.Min = 10
End Sub

'改变速度
Private Sub HScroll1_Change()
speed = HScroll1.Value
End Sub

'字符下落
Private Sub Timer1_Timer()
'字符1下落
zi1.Top = zi1.Top + speed
If zi1.Top > mm1.Height Then
innt1
End If
'字符2下落
zi2.Top = zi2.Top + speed
If zi2.Top > mm1.Height Then
innt2
End If
End Sub

'控制打字时间
Private Sub Timer2_Timer()
'减时
Label5.Caption = Val(Label5.Caption) - 1
'若时间到
If Val(Label5.Caption) <= 0 Then
'停止字符下落
Timer1.Enabled = False
zi1.Caption = ""
zi2.Caption = ""
'分析分数
Select Case score
Case Is < 60
MsgBox vbCrLf + "你真菜!努力吧!"
Case Is >= 60
MsgBox vbCrLf + "恩~!还可以有进步!"
Case Is >= 100
MsgBox vbCrLf + "哈```满分!"
Case Is > 150
MsgBox vbCrLf + "好厉害啊`!"
End Select
Command1.Enabled = True
Timer1.Enabled = False
Timer2.Enabled = False
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
katar1024
2009-08-27 · TA获得超过942个赞
知道小有建树答主
回答量:511
采纳率:0%
帮助的人:529万
展开全部
这个对于有经验的人不难,不过综合性太强了,老师应该指导下的
打字肯定要用到控件数组,这个在窗体上复制粘贴成一个键盘就行了
声音播放使用sndPlaySound,或者用MMControl播放声音
估计只有的程序即使老师给源代码学生都不一定看得懂,肯定要分析过案例才行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wys_sans
2009-08-07 · TA获得超过4008个赞
知道大有可为答主
回答量:2474
采纳率:0%
帮助的人:1069万
展开全部

程序已发送,请查收。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
2009-08-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
你要是想学习VB,就自己动手编;如果你想练习打字,就从网上搜索,有很多的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ljl88900
2009-08-07 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2624万
展开全部
请把题目内所说的图片都贴出来(如主界面等),不然无法完成所要求的设计.

如果方便的话,你把上述界面及声音文件等资料传到我的信箱,有空给你做一个。ljl2008610@163.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式