vb程序设计报告样本.docx
- 文档编号:12288552
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:12
- 大小:749.65KB
vb程序设计报告样本.docx
《vb程序设计报告样本.docx》由会员分享,可在线阅读,更多相关《vb程序设计报告样本.docx(12页珍藏版)》请在冰豆网上搜索。
vb程序设计报告样本
长江大学工程技术学院
VB语言程序设计课程设计报告
(2010-2011学年第二学期)
系(部)
机械系
专业班级
机电60902班
学生姓名
周中华
学号/序号
200962252/29
指导教师
/助教
完成时间
第19周
一、功能描述
这是一个简单的打字小游戏。
适用于刚开始接触打字的初学者,我们的游戏实现的是单个的字母练习这就降低了难度,我们设有不通的速度等级,当你击中的字母达到规定值时速度就会增加。
随之增加难度.但是字母的个数不会改变,还是原来的6个字母下落,同时打字窗口还设有返回上一级菜单的按钮,练习者可以随时停止游戏返回上一级。
在打字的过程中如果字母没有被击中就会落下,落下一个字母剩余能量就会减一(我们舍得剩余能量为15.)当剩余能量减到小于零的时候游戏就会结束,打对一个字母旁边的分数栏就会曾加1,我们设定的时间是2分钟,当你进入游戏的同时倒计时也就开始了,如果在规定的2分钟结束时你的剩余能量大于零,你就胜利了。
同时会弹出一个窗体显示你的速度等级和得分。
胜利后你也可以选择再来一次。
重新开始。
二、概要设计
图1:
打字游戏流程图
三、详细设计
1、利用一个数组控和一个随机函数来实现字母的随机赋值
Randomize/保证字母是随机抽取的
Fori=0To5/利用循环给数组控件赋值
Label1(i).Caption=Chr$(Rnd*26+97)
Nexti
2、在文本框的单击事件里用for循环实现了打中后字母的重新赋值和重新下落、以及得分的增加等功能代码如下所示
Fori=0To5'
IfRight(Text1.Text,1)=Label1(i).CaptionThen
defen=defen+1/当打对后得分就加一
Label2.Caption=defen/定义label2的值表示得分
Label1(i).Caption=Chr$((Rnd*26)+97)/当打对后字母有重新更换
Label1(i).Top=400/打对后字母从top为400的地方开始掉下
Text1.Text=""/text进行清空
EndIf
Nexti
3、在该游戏中有速度快慢的控制。
随着得分的不断增加速度的等级也会不断增加,另外也可以直接选择速度的等级直接进入不同等级的打字游戏。
利用一个参数n实现
IfLabel2.Caption=30Then'当打对30个字母时
n=50/速度变为50向下落
Label3.Caption=dengji
dengji=2/等级的值变为2
ElseIfLabel2.Caption=70Then/当打对70个字母
n=70/速度变为70
Label3.Caption=dengji
dengji=3/等级的值为3
ElseIfLabel2.Caption=100Then/当打对100个字母时,打字游戏的胜利
Form3.Show/form3窗体显示
UnloadForm2/form2窗体卸载
EndIf
4、用两个时钟控件实现对字母下落、剩余能量减少、和时间递减的功能。
Fori=0To5'用循环使控件实现下面的功能
Label1(i).Top=Label1(i).Top+n/字母往下掉的速度
IfLabel1(i).Top>=Form1.HeightThen/当字母没有被打中落下
Label9.Caption=Label9.Caption-1/落一个剩余能量就减一
m(i)=0/定义的数组参数值为零
Ifm(i)=0Then/当参数为零的时候
Label1(i).Top=400/空间从400的高度开始下落
Label1(i).Caption=Chr$(Rnd*26+97)/重新赋值改变字母
EndIf
Nexti
5、上面的代码是时钟控件一。
实现的是前两个功能。
下面的是时钟控件2实现的是时间递减的功能。
代码如下:
Label4.Caption=Label4.Caption-1'每秒时间就会减一
IfLabel4.Caption=0Then'当时间为零的时候
Form3.Show'form3显示
UnloadForm2'form2窗体卸载
EndIf
四、效果分析以及设计方案的完善
游戏的开始界面
图2
游戏的运行界面,有时间、得分、剩余能量等的显示,返回按钮课返回主页面。
当字母没有被击中而落下时剩余能量就会减少一。
剩余能量为零时游戏就结束了
图3
规定的时间不为零,但剩余能量为零了。
则游戏结束
图4
如果剩余能量不为零,但时间为零了则游戏闯关成功。
显示您的等级和分数
图5
在我们的游戏中有等级的难易之分。
当打中的个数到达一定数量时即分数到达一定值时速度的等级就会随之增加我们也可以直接选择速度的等级进行游戏。
初始的速度默认等级为1。
界面如下:
图6
存在的问题:
当选择速度等级进入游戏时,刚开始速度不会增加。
当按键后才会进入相应的速度等级。
以后会改进使程序更加完善。
五、心得体会
这次的visualbasic课程设计。
通过自己的努力完成了一个简单的打字小游戏。
在设计的过程中遇到了不少问题,发现了自己的很多不足。
通过不断的改进和完善程序终于有了一个简单的模型。
这是学vb以来第一次做程序,虽然我的程序还有很多的缺陷和不足,但在编程中学到了不少东西,也懂得了作为一个编程人员应具备一定的素质。
现在我们的专业知识还很少,以后会更加努力的学习专业课,做一个合格的编程人员。
六、参考文献
【1】作者.visualbasic程序设计教程[M].出版社,年份.
附录
程序源代码
1、form1窗体。
(Form1窗体是开始界面)
PrivateSubCommand1_Click()
Form1.Hide'form1窗体隐藏
Form2.Show'form2窗体出现
EndSub
PrivateSubCommand2_Click()
End'程序结束
EndSub
PrivateSubCommand3_Click()
Form1.Hide
Form5.Show
EndSub
2、form2窗体(运行的窗体)
Dimi%
Dimm%
PrivateSubCommand1_Click()
UnloadForm2'form2窗体卸载
Form1.Show'form1窗体显示
defen=0'得分重新从0开始
EndSub
PrivateSubForm_Load()
Randomize'保证字母是随机抽取的
Fori=0To5'利用循环给数组控件赋值
Label1(i).Caption=Chr$(Rnd*26+97)
Nexti
Label2.Caption=0'label2的初始值
Label3.Caption=1'label3的初始值
Label4.Caption=120'label4的初始值
Label9.Caption=15'label9的初始值
n=40'n的初始值(n表示向下掉的速度)
EndSub
PrivateSubText1_Change()
Fori=0To5'利用循环使数字空间实现下面的功能
IfRight(Text1.Text,1)=Label1(i).CaptionThen'选择语句的条件是打对字母(和text右边的字母进行比较)
defen=defen+1'当打对后得分就加一
Label2.Caption=defen'定义label2的值表示得分
Label1(i).Caption=Chr$((Rnd*26)+97)'当打对后字母有重新更换
Label1(i).Top=400'打对后字母从top为400的地方开始掉下
Text1.Text=""'text进行清空
EndIf'选择的结束语句
Nexti'向下个字母循环
IfLabel2.Caption=30Then'当打对30个字母时
n=50'速度变为50向下落
Label3.Caption=dengji'label3表示等级
dengji=2'等级的值变为2
ElseIfLabel2.Caption=70Then'当打对70个字母
n=70'速度变为70
Label3.Caption=dengji'label3表示等级
dengji=3'等级的值为3
ElseIfLabel2.Caption=100Then'当打对100个字母时
Form3.Show'form3窗体显示
UnloadForm2'form2窗体卸载
EndIf
Ifdengji=1Thenn=40
Ifdenfji=2Thenn=50
Ifdengji=3Thenn=70
EndSub
PrivateSubTimer1_Timer()
Dimm(5)AsInteger'定义一个数组
Fori=0To5'用循环使控件实现下面的功能
Label1(i).Top=Label1(i).Top+n'字母往下掉的速度
IfLabel1(i).Top>=Form1.HeightThen'当字母没有被打中落下
Label9.Caption=Label9.Caption-1'落一个剩余能量就减一
m(i)=0'定义的数组参数值为零
Ifm(i)=0Then'当参数为零的时候
Label1(i).Top=400'空间从400的高度开始下落
Label1(i).Caption=Chr$(Rnd*26+97)'重新赋值改变字母
EndIf
EndIf
IfLabel9.Caption<=0Then'当剩余能量为零时
UnloadForm2'卸载form2
Form4.Show'form4窗体显示
Timer2.Enabled=False'时钟控件2不可用
EndIf
Nexti
EndSub
PrivateSubTimer2_Timer()
Label4.Caption=Label4.Caption-1'每秒时间就会减一
IfLabel4.Caption=0Then'当时间为零的时候
Form3.Show'form3显示
UnloadForm2'form2窗体卸载
EndIf
EndSub
3、form3窗体(显示胜利时的最后得分)
PrivateSubForm_Load()
Text1.Text=defen'txet1的内容是显示得分
Text2.Text=dengji'text2的内容是显示等级
EndSub
4、form4窗体(失败后显示的窗体)
PrivateSubCommand1_Click()
Form4.Hide'form4窗体隐藏
Form1.Show'form1窗体显示
UnloadForm2'卸载form2
EndSub
5、form5窗体(速度选择的窗体)
PrivateSubCommand1_Click()
Form2.Show
Form5.Hide
IfVal(Text1.Text)=1Then
dengji=1
ElseIfVal(Text1.Text)=2Then
dengji=2
ElseIfVal(Text1.Text)=3Then
dengji=3
EndIf
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 程序设计 报告 样本