VB课程设计报告-打字练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VISUAL BASIC
课程设计报告
题目:打字练习
姓名:***
学号:
班级:
1题目介绍
在计算机及其它数码产品日益普及的今天,人们使用键盘应像使用笔写字一样熟练。进行打字练习是熟悉键盘并提高打字速度的豪放法。本题目要求编制一个打字练习游戏,是用户在游戏过程中练习指法。
2设计过程中用到的知识点
(1)控件数组(2)键盘事件处理(3)文本文件的读写(4)多模块程序设计
(5)随机值的生成
3课题要求和承担的任务
(1)游戏开始时出现“打字设置”窗口,在“您的姓名”文本框中输入用户名。若未输入名字,就点击“开始练习”与“查
看成绩”按钮,则提示用户输入姓名。若未输入时间,就点
击“开始练习”与“查看成绩”按钮,则提示用户输入时间。
在“打字设置”窗口可以设置打字速度和难度,速度决定字
母下落的快慢,共分高,中,低速三档。难度等级也分为三
档:小写字母,大写字母,所有混合(字母,数字和符号)(2)选择速度和难度之后,单击“开始练习”按钮后,主页面以全屏方式显示。根据难度的设置,屏幕上随即产生并落下各
种字符。若用户在字符落到屏幕底部之前敲击了相应的键盘
键,则该字符被“击中”后消失,击中时在字符位置上显示
一个爆炸的效果。程序根据速度和难度的不同自动进行计
分,分数实时地显示在主界面的顶部。
计分标准为:
1,慢速+小写字母:打中一个1分
2,慢速+大写字母:打中一个2分
3,慢速+混合字符:打中一个3分
4,中速+小写字母:打中一个4分
5,中速+大写字母:打中一个5分
6,中速+混合字符:打中一个6分
7,高速+小写字母:打中一个7分
8,高速+大写字母:打中一个8分
9,高速+混合字符:打中一个9分
(3)打字前可以选择打字的时间,时间一到弹出消息框显示用户本次练习得分,并提示是否继续练习,如果选“否”,返回“打字设置”窗口。用户的成绩被保存在“SCORE.TXT”文件中,供以后查询。
(4)当下落字符中有相同字符时,一次只能打掉一个
(5)在打字过程中,可以按ESC键中止游戏,返回打字设置窗口。但游戏的成绩并不保存。
(6)打字过程中如果按F1功能键,弹出键盘布局窗口供用户参考,显示该窗口时主窗口的字符暂停下落,关闭此窗口游
戏继续进行。
(7)在“打字设置”窗口中,点击“查看成绩”按钮,显示当前用户的历次练习的成绩和时间。
(8)要求程序运行时将各个字符均匀地分布占满屏幕宽度。
4 程序关键代码
frmSet界面代码
Option Explicit '强制变量声明
Private Sub Form_Load()
Label2.Caption = Now()
End Sub
Private Sub cmdPlay_Click()
If txtName.Text = "" Then
MsgBox "您还没有输入姓名。", 32, "打字设置"
txtName.SetFocus
Exit Sub
End If
If Text1.Text = "" Then
MsgBox "您还没有输入时间。", 32, "打字设置"
Text1.SetFocus
Exit Sub
End If
games.Show
games.deadtime = Val(Text1.Text) * 60
Me.Hide
End Sub
Private Sub cmdScore_Click()
Dim pd1 As PersonData
Dim pd2 As PersonData
Dim str As String
Dim strFind As Boolean
= txtName.Text
If Dir(App.Path & "\Score.txt") = "" Then '测试一个指定的路径下是否有指定的文件或文件夹
MsgBox "文件不存在!", 48, "成绩查看"
Exit Sub
Else
Open App.Path & "\Score.txt" For Input As #1
If txtName.Text = "" Then '读取成绩
Do While Not EOF(1)
Input #1, , pd2.score, pd2.time '读入值赋给相应的变量
strFind = True
Grade.Text1.Text = Grade.Text1.Text & & Space(2) & pd2.score & "分" & Space(2) & pd2.time & Chr(13) & Chr(10)
Loop
Else
Do While Not EOF(1)
Input #1, , pd2.score, pd2.time
If = Then
strFind = True
Grade.Text1.Text = Grade.Text1.Text & & Space(2) &
pd2.score & "分" & Space(2) & pd2.time & Chr(13) & Chr(10)
End If
Loop
End If
Close #1