-
vb教程之用VB6.0开发猜数字小游戏
随着Windows95 and 98的流行,越来越多的人加入Windows程序设计的队伍之中。以前,Windows程序设计是那些训练有素的专业程序设计者才会涉足的神秘领域,几乎所有的Windows程序都是用C/C++语言编写的,这对大部分普通程序设计者来说,要想高效迅速地编写出具有一定功能的Windows程序就不是一件容易的事情了。
1991年,Microsoft公司首次推出了Visual Basic for Windows,从此,人们不用C/C++或汇编就可以编写Windows程序了。到目前为止,我认为在所有的Windows程序设计工具中,Visual Basic 是最方便的,它以一种全新的思想让程序员快捷和高效地设计出Windows程序。目前,Visual Basic 的最高版本为6.0,本文讲述用运行于Win95/98 上的VB6.0来开发一个猜数字的小游戏。
首先说一说猜数字这个游戏的玩法,一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会是1A,如果数字相同而位置相不同,将会显示1B。例如:计算机的随机数字为:1234 ,我猜的数字为:1356 ,那么这时计算机会给你提示为:1A1B,也就是说,你猜的数字中,有一位数字是猜对的,而且数字位置都对,所以显示为1A;还有一个数字也猜对了,但是位置不对,所以显示为1B。就这些了,看谁猜的次数少。
首先在Form中加入一个CommandButtion控件,在Command1上点击鼠标右键,选择复制,在窗体上点击鼠标右键,选择粘贴在窗体上粘贴出九个Command1,此时出现对话框问你要不要创建控件数组,在此选择是。然后再加入两个CommandButtion控件,一个ListBox、一个Frame、一个Label 。设置窗体的Caption属性为“猜一猜”、BorderStyle为1-Fixed Single、控件数组的Captin分别为0、1、2、3、4、5、6、7、8、9,Command2的Caption为“确定",Command3的Caption为“取消",Frame1的Caption为“提示:",Label1的Cpation为“0A0B"。然后选择菜单编辑器编辑菜单为:游戏、新游戏、显示答案、结束游戏,她们的Name属性分别为:Game、New、View、End。好了,其余属性使用缺省的即可,最后的界面应跟下图一样:
以下是程序清单:
Dim PcA, PcB, PcC, PcD As Integer 注释:电脑给出的每一位数
Dim UserA, UserB, UserC, UserD As Integer 注释:用户输入的每一位数
Dim Degree As Integer 注释:用户猜了几次
Dim Num As Integer 注释:判断用户输入次数的变量
Private Sub Form_Load()
注释:程序运行行时
注释:初始化
For i = 0 To 9
Command1(i).Enabled = False
Next i
Command2.Enabled = False
Command3.Enabled = False
View.Enabled = False
End Sub
Private Sub New_Click()
注释:开始一个新游戏时
View.Enabled = True 注释:可以看答案
List1.Clear 注释:清空列表框
Degree = 0
注释: 对随机数生成器做初始化
Randomize
Num = 1
Label1.Caption = 0 & “A" & 0 & “B"
注释:电脑给出的每一位数
PcA = Int(9 * Rnd)
Do
PcB = Int(9 * Rnd)
Loop While PcB = PcA
Do
PcC = Int(9 * Rnd)
Loop While PcC = PcA Or PcC = PcB
Do
PcD = Int(9 * Rnd)
Loop While PcD = PcA Or PcD = PcB Or PcD = PcC
For i = 0 To 9
Command1(i).Enabled = True
Next i
Command2.Enabled = False
Command3.Enabled = True
End Sub
Private Sub Command1_Click(Index As Integer)
注释:用户输入时
注释:使得输入过的按钮无效
If Num <= 4 Then
Command1(Index).Enabled = False
End If
注释:判断用户输入了几位,如果输入了四位则确认按钮有效
If Num = 4 Then
Command2.Enabled = True
End If
注释:取得用户输入
Select Case Index
Case 0
UserEnter (0) 注释:调用UserEnter过程
Case 1 UserEnter (1)
Case 2 UserEnter (2)
Case 3 UserEnter (3)
Case 4 UserEnter (4)
Case 5 UserEnter (5)
Case 6 UserEnter (6)
Case 7 UserEnter (7)
Case 8 UserEnter (8)
Case 9 UserEnter (9)
End Select
End Sub
Private Sub Command2_Click()
注释:单击确定按钮时
注释:判断用户输入是否正确
Dim A, B As Integer
A = 0
B = 0
Degree = Degree + 1
If UserA = PcA Then
A = A + 1
ElseIf UserA = PcB Or UserA = PcC Or UserA = PcD Then
B = B + 1
用Visual BASIC 6.0 开发猜数字小游戏 End If
If UserB = PcB Then
A = A + 1
ElseIf UserB = PcA Or UserB = PcC Or UserD = PcD Then
B = B + 1
End If
If UserC = PcC Then
A = A + 1
ElseIf UserC = PcA Or UserC = PcB Or UserC = PcD Then
B = B + 1
End If
If UserD = PcD Then
A = A + 1
ElseIf UserD = PcA Or UserD = PcB Or UserC = PcC Then
B = B + 1
End If
注释:显示提示
Label1.Caption = A & “A" & B & “B"
List1.AddItem UserA & UserB & UserC & UserD & “ " & Label1.Caption
注释:初始化输入按钮
Command2.Enabled = False
For i = 0 To 9
Command1(i).Enabled = True
Next i
Num = 1
注释:判断输赢
If A = 4 Then
MsgBox “你猜对了!" & “你一共猜了" & Degree & “次"
For i = 0 To 9
Command1(i).Enabled = False
Next i
Command2.Enabled = False
End If
End Sub
Private Sub Command3_Click()
注释:单击取消按钮时
Num = 1
For i = 0 To 9
Command1(i).Enabled = True
Next i
Command2.Enabled = False
End Sub
Private Sub View_Click()
注释:显示答案时
MsgBox “答案是:" & PcA & PcB & PcC & PcD &“你答对了吗?"
End Sub
Private Sub End_Click()
注释:游戏结束时
End
End Sub
Sub UserEnter(i) 注释:取得用户输入
If Num = 1 Then
UserA = i
Num = Num + 1
ElseIf Num = 2 Then
UserB = i
Num = Num + 1
ElseIf Num = 3 Then
UserC = i
Num = Num + 1
ElseIf Num = 4 Then
UserD = i
Num = Num + 1
Else: MsgBox “四位数够了!"
End If
End Sub
运行程序,选择新游戏,就可以开始玩你自己开发的游戏了。
上面程序在Win95,VB6下运行通过。
1991年,Microsoft公司首次推出了Visual Basic for Windows,从此,人们不用C/C++或汇编就可以编写Windows程序了。到目前为止,我认为在所有的Windows程序设计工具中,Visual Basic 是最方便的,它以一种全新的思想让程序员快捷和高效地设计出Windows程序。目前,Visual Basic 的最高版本为6.0,本文讲述用运行于Win95/98 上的VB6.0来开发一个猜数字的小游戏。
首先说一说猜数字这个游戏的玩法,一开始计算机会随机产生一个不重复的四位数,你要输入四位不重复的数与计算机给出的数作对比,如果与计算机给出的数的位置相同数字相同,那么将会是1A,如果数字相同而位置相不同,将会显示1B。例如:计算机的随机数字为:1234 ,我猜的数字为:1356 ,那么这时计算机会给你提示为:1A1B,也就是说,你猜的数字中,有一位数字是猜对的,而且数字位置都对,所以显示为1A;还有一个数字也猜对了,但是位置不对,所以显示为1B。就这些了,看谁猜的次数少。
首先在Form中加入一个CommandButtion控件,在Command1上点击鼠标右键,选择复制,在窗体上点击鼠标右键,选择粘贴在窗体上粘贴出九个Command1,此时出现对话框问你要不要创建控件数组,在此选择是。然后再加入两个CommandButtion控件,一个ListBox、一个Frame、一个Label 。设置窗体的Caption属性为“猜一猜”、BorderStyle为1-Fixed Single、控件数组的Captin分别为0、1、2、3、4、5、6、7、8、9,Command2的Caption为“确定",Command3的Caption为“取消",Frame1的Caption为“提示:",Label1的Cpation为“0A0B"。然后选择菜单编辑器编辑菜单为:游戏、新游戏、显示答案、结束游戏,她们的Name属性分别为:Game、New、View、End。好了,其余属性使用缺省的即可,最后的界面应跟下图一样:
以下是程序清单:
Dim PcA, PcB, PcC, PcD As Integer 注释:电脑给出的每一位数
Dim UserA, UserB, UserC, UserD As Integer 注释:用户输入的每一位数
Dim Degree As Integer 注释:用户猜了几次
Dim Num As Integer 注释:判断用户输入次数的变量
Private Sub Form_Load()
注释:程序运行行时
注释:初始化
For i = 0 To 9
Command1(i).Enabled = False
Next i
Command2.Enabled = False
Command3.Enabled = False
View.Enabled = False
End Sub
Private Sub New_Click()
注释:开始一个新游戏时
View.Enabled = True 注释:可以看答案
List1.Clear 注释:清空列表框
Degree = 0
注释: 对随机数生成器做初始化
Randomize
Num = 1
Label1.Caption = 0 & “A" & 0 & “B"
注释:电脑给出的每一位数
PcA = Int(9 * Rnd)
Do
PcB = Int(9 * Rnd)
Loop While PcB = PcA
Do
PcC = Int(9 * Rnd)
Loop While PcC = PcA Or PcC = PcB
Do
PcD = Int(9 * Rnd)
Loop While PcD = PcA Or PcD = PcB Or PcD = PcC
For i = 0 To 9
Command1(i).Enabled = True
Next i
Command2.Enabled = False
Command3.Enabled = True
End Sub
Private Sub Command1_Click(Index As Integer)
注释:用户输入时
注释:使得输入过的按钮无效
If Num <= 4 Then
Command1(Index).Enabled = False
End If
注释:判断用户输入了几位,如果输入了四位则确认按钮有效
If Num = 4 Then
Command2.Enabled = True
End If
注释:取得用户输入
Select Case Index
Case 0
UserEnter (0) 注释:调用UserEnter过程
Case 1 UserEnter (1)
Case 2 UserEnter (2)
Case 3 UserEnter (3)
Case 4 UserEnter (4)
Case 5 UserEnter (5)
Case 6 UserEnter (6)
Case 7 UserEnter (7)
Case 8 UserEnter (8)
Case 9 UserEnter (9)
End Select
End Sub
Private Sub Command2_Click()
注释:单击确定按钮时
注释:判断用户输入是否正确
Dim A, B As Integer
A = 0
B = 0
Degree = Degree + 1
If UserA = PcA Then
A = A + 1
ElseIf UserA = PcB Or UserA = PcC Or UserA = PcD Then
B = B + 1
用Visual BASIC 6.0 开发猜数字小游戏 End If
If UserB = PcB Then
A = A + 1
ElseIf UserB = PcA Or UserB = PcC Or UserD = PcD Then
B = B + 1
End If
If UserC = PcC Then
A = A + 1
ElseIf UserC = PcA Or UserC = PcB Or UserC = PcD Then
B = B + 1
End If
If UserD = PcD Then
A = A + 1
ElseIf UserD = PcA Or UserD = PcB Or UserC = PcC Then
B = B + 1
End If
注释:显示提示
Label1.Caption = A & “A" & B & “B"
List1.AddItem UserA & UserB & UserC & UserD & “ " & Label1.Caption
注释:初始化输入按钮
Command2.Enabled = False
For i = 0 To 9
Command1(i).Enabled = True
Next i
Num = 1
注释:判断输赢
If A = 4 Then
MsgBox “你猜对了!" & “你一共猜了" & Degree & “次"
For i = 0 To 9
Command1(i).Enabled = False
Next i
Command2.Enabled = False
End If
End Sub
Private Sub Command3_Click()
注释:单击取消按钮时
Num = 1
For i = 0 To 9
Command1(i).Enabled = True
Next i
Command2.Enabled = False
End Sub
Private Sub View_Click()
注释:显示答案时
MsgBox “答案是:" & PcA & PcB & PcC & PcD &“你答对了吗?"
End Sub
Private Sub End_Click()
注释:游戏结束时
End
End Sub
Sub UserEnter(i) 注释:取得用户输入
If Num = 1 Then
UserA = i
Num = Num + 1
ElseIf Num = 2 Then
UserB = i
Num = Num + 1
ElseIf Num = 3 Then
UserC = i
Num = Num + 1
ElseIf Num = 4 Then
UserD = i
Num = Num + 1
Else: MsgBox “四位数够了!"
End If
End Sub
运行程序,选择新游戏,就可以开始玩你自己开发的游戏了。
上面程序在Win95,VB6下运行通过。
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比