分享
 
 
 

用VB6.0开发猜数字小游戏

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

随着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下运行通过。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有