用VB语言写一个猜数字游戏

首先说一下猜数字的游戏。起初,计算机会随机生成一个不重复的四位数。你要输入四位不重复的数字,与计算机给出的数字进行比较。如果数字和电脑给的数字一样,就是1A。如果数字相同但位置不同,则显示1B。比如电脑的随机数是:1234,我猜中的数字是:1356,那么电脑会给你提示:1A1B,也就是说你猜中的数字中有一个是对的,数字的位置都是对的,所以显示为1A;还有一个数字猜对了,但是位置错了,所以显示为1B。仅此而已。看谁猜的少。

首先,在表单中添加一个CommandButtion控件,在Command1上单击鼠标右键,选择Copy,在表单上单击鼠标右键,选择Paste,在表单上粘贴9个Command1。这时会出现一个对话框,询问你是否要创建一个控件数组,你可以在这里选择是。然后添加两个CommandButtion控件、一个ListBox、一个Frame和一个Label。将窗体的Caption属性设置为“guess”,将BorderStyle设置为1-fixed single,将控件数组的Captin设置为0,1,2,3,4,5,6,7,8,9,将Command2的标题设置为“OK”,将Command3的标题设置为“Cancel”,依此类推。然后选择菜单编辑器将菜单编辑为:游戏,新游戏,显示答案,结束游戏。它们的名称属性分别是:游戏、新建、查看和结束。好了,其他属性就用默认值,最终的界面应该和下图一样:

以下是程序列表:

' Dim PcA,PcB,PcC,PcD给出的每个数字都是整数'

用户输入的每个数字。

' Dim度为整数'用户猜测了几次。

“Dim Num As Integer”变量来判断用户输入的数量。

私有子窗体_Load()

当程序运行一行时。

初始化

对于i = 0到9

命令1(i)。启用=假

接下来我

命令2。启用=假

命令3。启用=假

查看。启用=假

末端接头

Private Sub New_Click()

开始新游戏时

查看。Enabled = True '可以看到答案。

List1。清除'清空列表框。

度数= 0

初始化随机数生成器。

使不规则化

Num = 1

Label1。Caption = 0 & "A" & 0 & "B "

计算机给出的每一个数字

PcA = Int(9 * Rnd)

PcB = Int(9 * Rnd)

PcB = PcA时的环路

PcC = Int(9 * Rnd)

当PcC = PcA或PcC = PcB时循环

PcD = Int(9 * Rnd)

当PcD = PcA或PcD = PcB或PcD = PcC时循环

对于i = 0到9

命令1(i)。启用=真

接下来我

命令2。启用=假

命令3。启用=真

末端接头

私有子命令1_Click(索引为整数)

当用户输入时。

使输入的按钮无效。

如果数量& lt那么= 4

命令1(索引)。启用=假

如果…就会结束

判断用户输入了多少位数。如果输入了四位数字,请确认按钮有效。

如果Num = 4,则

命令2。启用=真

如果…就会结束

获取用户输入

选择案例索引

案例0

UserEnter (0)'调用UserEnter过程。

案例1用户输入(1)

案例2用户输入(2)

案例3用户输入(3)

案例4用户输入(4)

案例5用户输入(5)

案例6用户输入(6)

案例7用户输入(7)

案例8用户输入(8)

案例9用户输入(9)

结束选择

末端接头

私有子命令2_Click()

单击“确定”按钮时。

判断用户输入是否正确。

Dim A,B为整数

A = 0

B = 0

度数=度数+ 1

如果UserA = PcA,那么

A = A + 1

ElseIf UserA = PcB或UserA = PcC或UserA = PcD

B = B + 1

用Visual BASIC 6.0开发猜谜游戏End If。

如果UserB = PcB,则

A = A + 1

ElseIf UserB = PcA或UserB = PcC或UserD = PcD然后

B = B + 1

如果…就会结束

如果UserC = PcC,则

A = A + 1

ElseIf UserC = PcA或UserC = PcB或UserC = PcD然后

B = B + 1

如果…就会结束

如果UserD = PcD,则

A = A + 1

ElseIf UserD = PcA或UserD = PcB或UserC = PcC然后

B = B + 1

如果…就会结束

显示提示

Label1。标题= A &“A”和B&“B”

List1。AddItem UserA & UserB & UserC & UserD & " " & label 1。标题

初始化输入按钮。

命令2。启用=假

对于i = 0到9

命令1(i)。启用=真

接下来我

Num = 1

判断输赢

如果A = 4,那么

MsgBox“你猜对了!”& "你猜到了" &度& "次"

对于i = 0到9

命令1(i)。启用=假

接下来我

命令2。启用=假

如果…就会结束

末端接头

私有子命令3_Click()

单击“取消”按钮时。

Num = 1

对于i = 0到9

命令1(i)。启用=真

接下来我

命令2。启用=假

末端接头

私有子视图_Click()

显示答案时。

MsgBox”答案是:“&PCA&PCB&PCC&PCD&”你对吗?”

末端接头

私有Sub End_Click()

在比赛结束时

结束

末端接头

子用户输入(I)'获取用户输入。

如果Num = 1,则

UserA = i

Num = Num + 1

那么ElseIf Num = 2

UserB = i

Num = Num + 1

那么ElseIf Num = 3

UserC = i

Num = Num + 1

那么ElseIf Num = 4

UserD = i

Num = Num + 1

Else: MsgBox“四位数够了!”

如果…就会结束

末端接头

运行程序,选择新游戏,就可以开始玩自己的游戏了。