《VB程序设计》课程设计任务书
题目: 打字游戏
任务与要求:
编制一个打字练习游戏程序,使用户在游戏过程中进行指法练习。要求程序能完整运行。
时间:2012 年 2月 15 日 至 2012 年 3 月 18日 共 4 周
学生姓名: 王凯 学 号: 1103860333
专业: 化工与制药大类
指导教师: 宋斌
2012年4月 14日
第一章 课程设计目的
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过做课程设计积累调试VB程序的经验;通过完成课程设计中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。本程序设计主要锻炼了对于控件数组,多模块程序设计,键盘事件处理,随机数的生成,文本文件读写,声音的播放。
第二章 课程设计的要求
题目介绍: 在计算机普及的今天,人们使用键盘已变的更加频繁,为了使打字变得更加熟悉和进一步提高打字速度。本题目要求编写一个打字练习游戏程序,使用户在游戏过程中进行执法练习。
课程设计功能要求:
<1>程序开始时在‘打字游戏设置’窗口中输入用户名,并根据设置窗口调整练习难度与打字速度。在未输入姓名时单击查看成绩可查询历史成绩。
<2>选择好速度与难度之后,单击‘开始练习’按钮。屏幕会随机产生并落下各种字符。在落到屏幕底部之前,击中字符消失同时产生爆炸声,程序根据速度和难度的设置自动记录分数并显示在窗口顶部。
<3>为增加趣味性,在程序中增加背景音乐和打中时打击声。并BackMusic.mid文件作为控制打字练习的时间长度,
<4>打字练习过程中,屏幕的顶部显示已用的时间和当前的分数,如果按F1功能键,弹出键盘布局窗口,音乐暂停;关闭此窗口,游戏继续进行。
.
第三章 课程设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
内容
一.打字游戏界面 主窗体及自述文件界面:
打字游戏的部分代码:
产生随机大小写字母编写代码
Public Sub Letter(n As Integer) '根据选择产生英文字母
If frmSet.Lowercase.Value Then
j = Int(Rnd * 26 + 97) '产生小写字母
ElseIf frmSet.Uppercase.Value Then
If n Mod 2 = 0 Then '产生大小写混合字母
j = Int(Rnd * 26 + 65)
Else
j = Int(Rnd * 26 + 97)
End If
ElseIf frmSet.Mixcase.Value Then
j = Int(Rnd * 79 + 48) '产生混合字母
End If
frmGame.lblLetter.Item(n).Caption = Chr(j)
frmGame.lblLetter.Item(n).ForeColor = RGB(Rnd * 254, Rnd * 254, Rnd * 254)
End Sub
根据不同难度产生不同下降速度
Public Sub Speed(n As Integer) '根据选择产生不同的速度
If frmSet.LSpeed.Value Then
frmGame.lblLetter.Item(n).Top = frmGame.lblLetter.Item(n).Top + 40
ElseIf frmSet.MSpeed.Value Then
frmGame.lblLetter.Item(n).Top = frmGame.lblLetter.Item(n).Top + 80 '选择不同速度
ElseIf frmSet.HSpeed.Value Then
frmGame.lblLetter.Item(n).Top = frmGame.lblLetter.Item(n).Top + 120
End If
If frmGame.lblLetter.Item(n).Top > frmGame.Height Then '遗漏扣除分数
frmGame.lblLetter.Item(n).Top = 0
TotalScore = TotalScore - 10
Letter (n)
End If
End Sub
窗体加载
Private Sub Command1_Click()
frmSet.Show
Unload Me
End Sub
文本的读写编码
Private Sub cmdScore_Click()
Dim pd1 As PersonData
Dim pd2 As PersonData
Dim str As String
Dim strFind As Boolean
pd1.name = 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.name, pd2.score, pd2.time
strFind = True
frmGrade.Text1.Text = frmGrade.Text1.Text & pd2.name & Space(2) & pd2.score & "分" & Space(2) & pd2.time & Chr(13) & Chr(10)
Loop
Else
Do While Not EOF(1)
Input #1, pd2.name, pd2.score, pd2.time '查找历史成绩
If pd2.name = pd1.name Then
strFind = True
frmGrade.Text1.Text = frmGrade.Text1.Text & pd2.name & Space(2) & pd2.score & "分" & Space(2) & pd2.time & Chr(13) & Chr(10)
End If
Loop
End If
Close #1
If strFind = True Then
frmGrade.Show
Me.Hide
Else
MsgBox "没有您的成绩记录!", 48, "成绩查看"
End If
End If
End Sub
动态数组
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim i As Integer, m As Integer, nTop As Integer
Dim shotted() As Integer
Dim shottednum As Integer
游戏中的两个问题:
第四章
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
及个人
心得
信息技术培训心得 下载关于七一讲话心得体会关于国企改革心得体会关于使用希沃白板的心得体会国培计划培训心得体会
体会
综合分析,本程设计有2个难点:
(1) 随机字符的生成这需要先建立控件数组,还有应该定义数组记录每个字符的速度和颜色,还要用随机函数使之具有不同的颜色。
(2) 背景音乐以及打中字符产生的打击声的程序编写。
存在的不足:
(2) 打字游戏中还有一个难点就是改变各个字符下降的运动速度,在我编写时感觉不好编写,很不幸的发现所有下降速度一致。还有没有做到书上所说的插入背景音乐,这一点让我感到有点小遗憾
心得及体会:
通过本次的v b程序设计,是我对课程有了进一步的了解,使自己的上级能力有了大幅度提升,这个游戏经历了很多次改动,当然每次改动都有很大的提高,每次改动都少了很多小问题,现在所看到的程序给我开始时设计的草稿版本在很多地方可以说已经大不相同,还有在这个程序中我做了一下尝试优化了定时器的控件使代码长度尽量少,在此期间也阅读了若干资料,我还是尽量的做到了最好,同时也感觉到做程序并不像想象中那么有趣和美好,也是有很多的困难和挫折,但是在老师和同学帮助下在程序成功运行的时候心中那种喜悦之情让我感觉到这一切都是值得的。