VB课程设计报告-打字练习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档