VB猜数字游戏课程设计报告1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果
进入界面 form1
13
游戏规则 form3 开始游戏界面 form2
14
课程设计体会
实践能够检验是否收获。通过本次课程设计我不仅对课本知 识加深了印象和了解,也明白了如何把理论知识运用到现实 中实践,同时也学到了许多有关 vb 的课外的知识比如在查
15
阅资料过程中我学会了产生随机数的多种方法:一次性随机 产生四位数;每次随机产生一个数组合成四位数,可定义动 态数组也可定义几个变量去实现。在定义计数变量时把它设 为静态变量以及如何使指定的对象什么时候获得焦点等。在 完成课程设计过程中锻炼了我分析解决实际问题的能力。开 始时并不是很顺利对课本内的知识掌握的不太好,很多知识 点被遗忘、不清楚,也暴露出了对 vb 操作环境的不熟悉, 和对一些控件的不熟以及对一些事件属性不了解但通过这 次课程设计大半部分出现的问题都得到了解决。设计这款游 戏让我更加了解了 vb 开发环境有用性和前景性更加培养了 我对学习 visual basic 程序设计的热情和信念。
Form1.Show End Sub 也可以在 form3 界面中加载自己喜欢的图片
下面的也是这个程序中最重要的程序——游戏的编写 首先应该创建控件
5
也就是说要创建 4 个 command 控件和 4 个 text 控件 2 个 label 控件 然后开始编写代码 Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer Public cishu As Integer Private Sub Command1_Click() 在点击开始按钮之后 command 是可见的,可使用的
猜数字游戏
猜数字游戏实验报告
课程设计的目的
课程设计为学生提供了一个既能动手又能动脑,独立实践的机 会,将课本上的 vb 课理论知识和实践有机的结合起来,锻炼学生的 分析解决实际问题的能力、提高运用 vb 应用的能力。
课程设计题目和简介
猜数字游戏;游戏开始时系统将随机产生一个数字不同的四位 数,玩家根据游戏提示纠正答案(1A0B:表示猜中一个数字且 位置正确;2A2B:有两个数字正确且位置正确有两个数字正确 当位置不正确)输入的数字不能相同也不能为空而且只有十次 机会。
设计说明
开始游戏
Randomize 产生随机数
用户输入值
确定 比较随机值与输入值
给出提示
退出游戏
设计思路
首先要创建三个窗口,form1 是进入游戏界面,form2 是游 戏运行界面,form3 是游戏规则介绍。
1
其次要按要求实现三个窗口的 show 与 hide 在代码为 Private Sub command*_click() form*.show Form*.hide End sub 在 form3 中我没有用这种方法,因为在 form3 中又关闭按钮, 如果想之前一样的话,按关闭按钮就直接退出游戏了,而我想要实现 是再次回到游戏进入界面,所以有用了一个方法 代码为: Private sub form_unload(Cancle as integer) Form1.show End sub 这样子就防止之前那种情况的发生了 下一步开始创建控件 现在 form1 中创建游戏进入界面,根据游戏需要应该创建 3 个 command 控件,和一个 label 控件
a3 & a4, , "猜数字" Exit Sub
End If tmp1 = Val(Text1.Text) tmp2 = Val(Text2.Text) tmp3 = Val(Text3.Text) tmp4 = Val(Text4.Text)
If tmp1 = tmpBaidu Nhomakorabea Or tmp1 = tmp3 Or tmp1 = tmp4 Then MsgBox "输入的数字不能相同,请重新输入", 48, "猜数
Command2.Enabled = False Command3.Enabled = False
8
Label1.BackStyle = 0 Label2.BackStyle = 0 End Sub
Private Sub Text1_Change()
Text 控件中焦点的设置
If Len(Text1.Text) = 1 Then
12
Private Sub text4_Click() Text4.Text = ""
End Sub 另外需要设置 text 中数字的大小和输入长度,在 font 属性栏中设置 数字的大小,在 maxlength 的属性栏中改为 1,使在 text 控件中只 能输入一个数字。 做完这些,剩下的就是修饰了, 让这个自己做好的游戏看起来更好 看一些,就需要在各个 form 界面上加载自己喜欢的图片,让界面更 丰富一些,不至于太单调,一样的方法,需要在你想添加图片的 form 控件属性栏中找到 picture 属性然后加载自己喜欢的图片,需要的话 再把不同位置的字体也设置一下,让字体不至于进入图片中找不到
Dim tmp1 As Integer, tmp2 As Integer, tmp3 As Integer,
9
tmp4 As Integer
Dim A As Integer, B As Integer A=0 B=0
If cishu = 9 Then MsgBox "很遗憾 !你已经猜了 10 次答案是" & a1 & a2 &
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四 位数!猜猜是什么数吧!"
End Sub
Private Sub Command4_Click() End
End Sub
Private Sub Form_Load() 可以使 command2 和 command3 点击开 始游戏按扭之前是灰色的不可用的
End Sub
3
Private Sub Form_Load()
Label1.BackStyle = 0
把 label1 的背景方式改为透明
End Sub
当 然 也 可 以 在 form1 的 界 面 上 加 上 自 己 喜 欢 的 图 片 , 需 要 在
picture 中加载
然后在 form3 中设计游戏规则界面
Command2.Enabled = True Command3.Enabled = True Randomize 随机产生四个不同的数字 Label2.Caption = 0 & "A" & 0 & "B"
a1 = Int(10 * Rnd) Do
a2 = Int(10 * Rnd) Loop While a2 = a1
字游戏" End If If tmp4 = tmp1 Or tmp4 = tmp2 Or tmp4 = tmp3 Then MsgBox "输入的数不能相同,请重新输入", 48, "猜数字
游戏" End If cishu = cishu + 1 If tmp1 = a1 Then A=A+1 ElseIf tmp1 = a2 Or tmp1 = a3 Or tmp1 = a4 Then B=B+1 End If If tmp2 = a2 Then A=A+1 ElseIf tmp2 = a1 Or tmp2 = a3 Or rmp2 = a4 Then B=B+1 End If If tmp3 = a3 Then A=A+1 ElseIf tmp3 = a1 Or tmp3 = a2 Or tmp3 = a4 Then
16
a1 = Int(10 * Rnd)
7
Do a2 = Int(10 * Rnd) Loop While a2 = a1
Do a3 = Int(10 * Rnd) Loop While a3 = a1 Or a3 = a2
Do a4 = Int(10 * Rnd) Loop While a4 = a1 Or a4 = a2 Or a4 = a3
字游戏" End If If tmp2 = tmp3 Or tmp2 = tmp4 Or tmp2 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 16, "猜数
字游戏" End If
10
If tmp3 = tmp4 Or tmp3 = tmp2 Or tmp3 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 64, "猜数
Text2.SetFocus
End If
End Sub Private Sub text2_change()
If Len(Text2.Text) = 1 Then Text3.SetFocus End If End Sub Private Sub text3_change() If Len(Text3.Text) = 1 Then Text4.SetFocus End If End Sub Private Sub Command3_Click() 猜数字真确与否的代码
这个界面中我把最大化与最化省去了,然后把关闭按钮编写了一下 在 form3 的属性栏中吧 minbutton 和 maxbutton 的属性改为 false 这样子就不会有最大最小化按钮了剩下的就编写代码了
4
Private Sub Form_Load() Label1.BackStyle = 0
End Sub Private Sub Form_unload(Cancle As Integer)
11
B=B+1 End If If tmp4 = a4 Then
A=A+1 ElseIf tmp4 = a1 Or tmp4 = a2 Or tmp4 = a3 Then
B=B+1 End If Label2.Caption = A & "A" & B & "B" If A = 4 Then MsgBox "恭喜你,你猜对了!" & "你一共猜了" & cishu & " 次",, "猜数字游戏" End If End Sub Private Sub text1_Click() 设置鼠标点解 text 自动消除数字 Text1.Text = "" End Sub Private Sub text2_Click() Text2.Text = "" End Sub Private Sub text3_Click() Text3.Text = "" End Sub
End Sub
Private Sub Command2_Click()
重新开始游戏的设置
cishu = 0
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Randomize
Label2.Caption = 0 & "A" & 0 & "B"
2
然后开始编写代码 代码如下 Private Sub Command1_Click()
Form1.Hide form2.Show End Sub
Private Sub Command2_Click() Form1.Hide Form3.Show
End Sub
Private Sub Command3_Click() End
6
Do a3 = Int(10 * Rnd) Loop While a3 = a1 Or a3 = a2
Do a4 = Int(10 * Rnd) Loop While a4 = a1 Or a4 = a2 Or a4 = a3
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四 位数!猜猜是什么数吧!"
进入界面 form1
13
游戏规则 form3 开始游戏界面 form2
14
课程设计体会
实践能够检验是否收获。通过本次课程设计我不仅对课本知 识加深了印象和了解,也明白了如何把理论知识运用到现实 中实践,同时也学到了许多有关 vb 的课外的知识比如在查
15
阅资料过程中我学会了产生随机数的多种方法:一次性随机 产生四位数;每次随机产生一个数组合成四位数,可定义动 态数组也可定义几个变量去实现。在定义计数变量时把它设 为静态变量以及如何使指定的对象什么时候获得焦点等。在 完成课程设计过程中锻炼了我分析解决实际问题的能力。开 始时并不是很顺利对课本内的知识掌握的不太好,很多知识 点被遗忘、不清楚,也暴露出了对 vb 操作环境的不熟悉, 和对一些控件的不熟以及对一些事件属性不了解但通过这 次课程设计大半部分出现的问题都得到了解决。设计这款游 戏让我更加了解了 vb 开发环境有用性和前景性更加培养了 我对学习 visual basic 程序设计的热情和信念。
Form1.Show End Sub 也可以在 form3 界面中加载自己喜欢的图片
下面的也是这个程序中最重要的程序——游戏的编写 首先应该创建控件
5
也就是说要创建 4 个 command 控件和 4 个 text 控件 2 个 label 控件 然后开始编写代码 Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer Public cishu As Integer Private Sub Command1_Click() 在点击开始按钮之后 command 是可见的,可使用的
猜数字游戏
猜数字游戏实验报告
课程设计的目的
课程设计为学生提供了一个既能动手又能动脑,独立实践的机 会,将课本上的 vb 课理论知识和实践有机的结合起来,锻炼学生的 分析解决实际问题的能力、提高运用 vb 应用的能力。
课程设计题目和简介
猜数字游戏;游戏开始时系统将随机产生一个数字不同的四位 数,玩家根据游戏提示纠正答案(1A0B:表示猜中一个数字且 位置正确;2A2B:有两个数字正确且位置正确有两个数字正确 当位置不正确)输入的数字不能相同也不能为空而且只有十次 机会。
设计说明
开始游戏
Randomize 产生随机数
用户输入值
确定 比较随机值与输入值
给出提示
退出游戏
设计思路
首先要创建三个窗口,form1 是进入游戏界面,form2 是游 戏运行界面,form3 是游戏规则介绍。
1
其次要按要求实现三个窗口的 show 与 hide 在代码为 Private Sub command*_click() form*.show Form*.hide End sub 在 form3 中我没有用这种方法,因为在 form3 中又关闭按钮, 如果想之前一样的话,按关闭按钮就直接退出游戏了,而我想要实现 是再次回到游戏进入界面,所以有用了一个方法 代码为: Private sub form_unload(Cancle as integer) Form1.show End sub 这样子就防止之前那种情况的发生了 下一步开始创建控件 现在 form1 中创建游戏进入界面,根据游戏需要应该创建 3 个 command 控件,和一个 label 控件
a3 & a4, , "猜数字" Exit Sub
End If tmp1 = Val(Text1.Text) tmp2 = Val(Text2.Text) tmp3 = Val(Text3.Text) tmp4 = Val(Text4.Text)
If tmp1 = tmpBaidu Nhomakorabea Or tmp1 = tmp3 Or tmp1 = tmp4 Then MsgBox "输入的数字不能相同,请重新输入", 48, "猜数
Command2.Enabled = False Command3.Enabled = False
8
Label1.BackStyle = 0 Label2.BackStyle = 0 End Sub
Private Sub Text1_Change()
Text 控件中焦点的设置
If Len(Text1.Text) = 1 Then
12
Private Sub text4_Click() Text4.Text = ""
End Sub 另外需要设置 text 中数字的大小和输入长度,在 font 属性栏中设置 数字的大小,在 maxlength 的属性栏中改为 1,使在 text 控件中只 能输入一个数字。 做完这些,剩下的就是修饰了, 让这个自己做好的游戏看起来更好 看一些,就需要在各个 form 界面上加载自己喜欢的图片,让界面更 丰富一些,不至于太单调,一样的方法,需要在你想添加图片的 form 控件属性栏中找到 picture 属性然后加载自己喜欢的图片,需要的话 再把不同位置的字体也设置一下,让字体不至于进入图片中找不到
Dim tmp1 As Integer, tmp2 As Integer, tmp3 As Integer,
9
tmp4 As Integer
Dim A As Integer, B As Integer A=0 B=0
If cishu = 9 Then MsgBox "很遗憾 !你已经猜了 10 次答案是" & a1 & a2 &
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四 位数!猜猜是什么数吧!"
End Sub
Private Sub Command4_Click() End
End Sub
Private Sub Form_Load() 可以使 command2 和 command3 点击开 始游戏按扭之前是灰色的不可用的
End Sub
3
Private Sub Form_Load()
Label1.BackStyle = 0
把 label1 的背景方式改为透明
End Sub
当 然 也 可 以 在 form1 的 界 面 上 加 上 自 己 喜 欢 的 图 片 , 需 要 在
picture 中加载
然后在 form3 中设计游戏规则界面
Command2.Enabled = True Command3.Enabled = True Randomize 随机产生四个不同的数字 Label2.Caption = 0 & "A" & 0 & "B"
a1 = Int(10 * Rnd) Do
a2 = Int(10 * Rnd) Loop While a2 = a1
字游戏" End If If tmp4 = tmp1 Or tmp4 = tmp2 Or tmp4 = tmp3 Then MsgBox "输入的数不能相同,请重新输入", 48, "猜数字
游戏" End If cishu = cishu + 1 If tmp1 = a1 Then A=A+1 ElseIf tmp1 = a2 Or tmp1 = a3 Or tmp1 = a4 Then B=B+1 End If If tmp2 = a2 Then A=A+1 ElseIf tmp2 = a1 Or tmp2 = a3 Or rmp2 = a4 Then B=B+1 End If If tmp3 = a3 Then A=A+1 ElseIf tmp3 = a1 Or tmp3 = a2 Or tmp3 = a4 Then
16
a1 = Int(10 * Rnd)
7
Do a2 = Int(10 * Rnd) Loop While a2 = a1
Do a3 = Int(10 * Rnd) Loop While a3 = a1 Or a3 = a2
Do a4 = Int(10 * Rnd) Loop While a4 = a1 Or a4 = a2 Or a4 = a3
字游戏" End If If tmp2 = tmp3 Or tmp2 = tmp4 Or tmp2 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 16, "猜数
字游戏" End If
10
If tmp3 = tmp4 Or tmp3 = tmp2 Or tmp3 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 64, "猜数
Text2.SetFocus
End If
End Sub Private Sub text2_change()
If Len(Text2.Text) = 1 Then Text3.SetFocus End If End Sub Private Sub text3_change() If Len(Text3.Text) = 1 Then Text4.SetFocus End If End Sub Private Sub Command3_Click() 猜数字真确与否的代码
这个界面中我把最大化与最化省去了,然后把关闭按钮编写了一下 在 form3 的属性栏中吧 minbutton 和 maxbutton 的属性改为 false 这样子就不会有最大最小化按钮了剩下的就编写代码了
4
Private Sub Form_Load() Label1.BackStyle = 0
End Sub Private Sub Form_unload(Cancle As Integer)
11
B=B+1 End If If tmp4 = a4 Then
A=A+1 ElseIf tmp4 = a1 Or tmp4 = a2 Or tmp4 = a3 Then
B=B+1 End If Label2.Caption = A & "A" & B & "B" If A = 4 Then MsgBox "恭喜你,你猜对了!" & "你一共猜了" & cishu & " 次",, "猜数字游戏" End If End Sub Private Sub text1_Click() 设置鼠标点解 text 自动消除数字 Text1.Text = "" End Sub Private Sub text2_Click() Text2.Text = "" End Sub Private Sub text3_Click() Text3.Text = "" End Sub
End Sub
Private Sub Command2_Click()
重新开始游戏的设置
cishu = 0
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Randomize
Label2.Caption = 0 & "A" & 0 & "B"
2
然后开始编写代码 代码如下 Private Sub Command1_Click()
Form1.Hide form2.Show End Sub
Private Sub Command2_Click() Form1.Hide Form3.Show
End Sub
Private Sub Command3_Click() End
6
Do a3 = Int(10 * Rnd) Loop While a3 = a1 Or a3 = a2
Do a4 = Int(10 * Rnd) Loop While a4 = a1 Or a4 = a2 Or a4 = a3
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四 位数!猜猜是什么数吧!"