vb猜数字游戏课程设计报告Word文档格式.docx
《vb猜数字游戏课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《vb猜数字游戏课程设计报告Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
表示猜中一个数字且位置正确;
2A2B:
有两个数字正确且位置正确有两个数字正确当位置不正确)输入的数字不能相同也不能为空而且只有十次机会。
三、设计说明
四、源代码
进入界面form1
PrivateSubCommand1_Click()
LoadForm2
Form2.Show[vbModal]
EndSub
PrivateSubCommand2_Click()
End
PrivateSubForm_Load()
Form1.WindowState=vbMaximized‘使运行时窗体最大化
准备界面form2
LoadForm3
Form3.Show[vbModal]
Form2.Hide
Form2.WindowState=vbMaximized
Label1.Caption="
系统将随机产生一个数字不同的四位数,你可以根据提示纠正自己的错误但你只有十次机会!
准备好了吗?
"
开始游戏界面form3
Dima1AsInteger,a2AsInteger,a3AsInteger,a4AsInteger
Randomize'
初始化随机数发生器
Label1.Caption=0&
"
A"
&
0&
B"
a1=Int(10*Rnd)'
产生随机数
Do
a2=Int(10*Rnd)
LoopWhilea2=a1
a3=Int(10*Rnd)
LoopWhilea3=a1Ora3=a2
a4=Int(10*Rnd)
LoopWhilea4=a1Ora4=a2Ora4=a3
Label2.Caption="
已经随机产生了一个数字(0~9)不同的四位数!
猜猜是什么数吧!
Text1.FontSize=45'
设置text文本框内字的大小
Text2.FontSize=45
Text3.FontSize=45
Text4.FontSize=45
Text1.MaxLength=1'
定义text文本框内能输入的长度
Text2.MaxLength=1
Text3.MaxLength=1
Text4.MaxLength=1
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
PrivateSubForm_Load()'
使窗体最大
Form3.WindowState=vbMaximized
PrivateSubText1_Change()'
设置textchange事件,当前一个文本框输入一个数时则下一个文本框获得焦点
IfLen(Text1.Text)=1Then
Text2.SetFocus
EndIf
PrivateSubtext2_change()
IfLen(Text2.Text)=1Then
Text3.SetFocus
EndIf
PrivateSubtext3_change()
IfLen(Text3.Text)=1Then
Text4.SetFocus
PrivateSubCommand2_Click()
Staticcishu
Dimtmp1AsInteger,tmp2AsInteger,tmp3AsInteger,tmp4AsInteger
DimAAsInteger,BAsInteger
A=0
B=0
Ifcishu=9Then
MsgBox"
很遗憾!
你已经猜了10次答案是"
a1&
a2&
a3&
a4,,"
猜数字"
ExitSub
tmp1=Val(Text1.Text)'
读取玩家输入的数
tmp2=Val(Text2.Text)
tmp3=Val(Text3.Text)
tmp4=Val(Text4.Text)
Iftmp1=tmp2Ortmp1=tmp3Ortmp1=tmp4Then'
使输入的值不能相同,如果相同则给出提示
输入的数字不能相同,请重新输入"
48,"
猜数字游戏"
Iftmp2=tmp3Ortmp2=tmp4Ortmp2=tmp1Then
16,"
Iftmp3=tmp4Ortmp3=tmp2Ortmp3=tmp1Then
64,"
Iftmp4=tmp1Ortmp4=tmp2Ortmp4=tmp3Then
输入的数不能相同,请重新输入"
cishu=cishu+1
Iftmp1=a1Then'
对玩家输入的数与产生的随机数进行比较
A=A+1
ElseIftmp1=a2Ortmp1=a3Ortmp1=a4Then
B=B+1
Iftmp2=a2Then
ElseIftmp2=a1Ortmp2=a3Orrmp2=a4Then
Iftmp3=a3Then
ElseIftmp3=a1Ortmp3=a2Ortmp3=a4Then
Iftmp4=a4Then
ElseIftmp4=a1Ortmp4=a2Ortmp4=a3Then
Label1.Caption=A&
B&
'
把比较出的结果做出提示
IfA=4Then
恭喜你,你猜对了!
你一共猜了"
cishu&
次"
"
PrivateSubtext1_Click()'
textclick单击事件,清空文本框内的数据
Text1.Text="
PrivateSubtext2_Click()
Text2.Text="
PrivateSubtext3_Click()
Text3.Text="
PrivateSubtext4_Click()
Text4.Text="
五、运行结果
开始游戏界面form4
六、课程设计体会
实践能够检验是否收获。
通过本次课程设计我不仅对课本知识加深了印象和了解,也明白了如何把理论知识运用到现实中实践,同时也学到了许多有关vb的课外的知识比如在查阅资料过程中我学会了产生随机数的多种方法:
一次性随机产生四位数;
每次随机产生一个数组合成四位数,可定义动态数组也可定义几个变量去实现。
在定义计数变量时把它设为静态变量以及如何使指定的对象什么时候获得焦点等。
在完成课程设计过程中锻炼了我分析解决实际问题的能力。
开始时并不是很顺利对课本内的知识掌握的不太好,很多知识点被遗忘、不清楚,也暴露出了对vb操作环境的不熟悉,和对一些控件的不熟以及对一些事件属性不了解但通过这次课程设计大半部分出现的问题都得到了解决。
设计这款游戏让我更加了解了vb开发环境有用性和前景性更加培养了我对学习visualbasic程序设计的热情和信念。