猜数字游戏的VB代码

巡山小妖精
678次浏览
2021年01月01日 04:00
最佳经验
本文由作者推荐

期中考试试卷分析-北京英文导游词

2021年1月1日发(作者:宣鼎)


猜数字游戏的VB代码
本猜数字游戏的方法及规则:
系统自动生成一个四位 数(四个数字没有重复),玩者需要猜中这个
数字。玩者在四个文本框内输入四个数字,按“ENTER ”后,如果猜
对,则文本框变绿,本轮结束,按“CLEAR”进入下一轮。如果不对,
则会在 下面显示“xAxB”,其中“xA”表示有四个数字中有多少个数
字是数字和所在位置都猜对的,“x B”表示有多少个数字猜对但是所
在位置不对。比如,答案是“1234”,玩者猜“5432”,则显 示“1A2B”,
因为“3”猜对且位置也对,“4”猜对但位置不对,“2”猜对但位置
不对 。如果玩者猜“1324”,则显示“2A2B”;如果玩者猜“4567”,
则显示“0A1B”;如 果玩者猜“4256”,则显示“1A1B”,原因自己推。
(四位数也可能是零开头。)最多猜错十次 ,如十次没有猜对,则游
戏失败,本轮结束,按“CLEAR”进入下一轮。按“QUIT”可查看答< br>案,同时本轮结束。各控件在界面上的布局如下:



Option Explicit
Private Sub Command1_Click() '此为“确认”按钮。
If lor <> vbMagenta Then
If d = False Then
Dim keydig(1 To 4) As Integer, ansdig(1 To 4) As Integer
Dim n, m, cnt_A, cnt_B As Integer, isappliable As Boolean
Static count, keynum As Integer 'command按钮事件执行终,必须使变
量count仍然残留。
Do
If count = 0 Then '“count”变量计算Command1_Click执行的次数,
每执行一次增加1。
Randomize
keynum = Int(Rnd * (9876 - 123 + 1)) + 123 '生成一个四位随机整数。
End If '3rd


For n = 1 To 4 Step 1
keydig(n) = keynum 10 ^ (4 - n) Mod 10 '“keydig(n)”数组有四个
元素,存放四位随机数的四个数字。
Next
isappliable = True
For m = 1 To 3 Step 1 '生成的四位整数不能有任何两位相同,否则重新生
成。
For n = m + 1 To 4 Step 1
If keydig(m) = keydig(n) Then isappliable = False
Next
Next
Loop Until isappliable = True '如果有相同数字就返回去重算。
ansdig(1) = Val(): ansdig(2) = Val(): ansdig(3) =
Val(): ansdig(4) = Val()
For m = 1 To 4 Step 1
For n = 1 To 4 Step 1
If keydig(m) = ansdig(n) Then
If m = n Then cnt_A = cnt_A + 1 Else cnt_B = cnt_B + 1
End If
Next
Next
If cnt_A = 4 Or count = 9 Then


= Str(keynum): ze =
d = True: d = False
If cnt_A = 4 Then '5th
lor = vbGreen: lor = vbGreen:
lor = vbGreen: lor = vbGreen: lor
= vbGreen: n = lor = vbBlue:
lor = vbBlack
Else
With Form1
.ForeColor = vbRed: .Font =
End With
lor = vbRed: =
= =
Print Tab(65);
End If '5th
Else
ze =
=
Print Tab(41); Str(count + 1)
Print Tab(47); Str(ansdig(1)) + Str(ansdig(2)) + Str(ansdig(3)) +
Str(ansdig(4)) +
End If '4th


count = count + 1
Else
count = 0
End If '2nd
Else
= Str(keynum)
End If '1st
End Sub

Private Sub Command2_Click()
Dim n As Integer
If lor = vbRed Or n = Or
lor = vbMagenta Then
Cls
Call FormInitialization
For n = 1 To 15 Step 1
Print
Next
Call Command1_Click
Else
d = True: d = True:
n =


End If
End Sub



Private Sub Command3_Click()
If lor <> vbMagenta Then
d = True: d = False
lor = vbMagenta: = New Roman
ze =
n =
Print Tab(40);
=
Else
Call Command1_Click
lor = vbRed: ze =
d = False
End If
End Sub

Private Sub Form_Load()
Dim n As Integer


Call FormInitialization
For n = 1 To 15 Step 1
Print
Next
d = False
End Sub

Private Function FormInitialization() As Integer
With Form1
.ForeColor = vbBlack: .Font = 宋体
End With
With Command1
.Font =
End With
With Command2
.Caption =
End With
With Label2
.Font = New ze = .Caption =
Game
End With
With Text1


.Text =
End With
With Text2
.Text =
End With
With Text3
.Text =
End With
With Text4
.Text =
End With
With Text5
.ForeColor = vbBlack: .Text =
End With
n = 正确答案:
n = 系统生成一 个四位随机
整数(四个数字没有重复),玩者要想方设法猜中这个四位数。玩者在四个框中
分别 输入四位数的四个数字,确认后在下方会显示“x A x B”。“A”表示玩者有
几个数字猜对了而 且位置也正确;“B”表示有几个数字猜对但位置不正确。如:
标准数字是“3524”,玩者猜“12 34”,则显示“1A2B”。猜错十次则输。
点击“QUIT”可查看答案。n = 游戏方法及规则:
ze =


FormInitialization = 0
End Function

Private Sub Text1_Change()
If IsNumeric() And Len() = 1 Then us
End Sub

Private Sub Text2_Change()
If IsNumeric() And Len() = 1 Then us
End Sub

Private Sub Text3_Change()
If IsNumeric() And Len() = 1 Then us
End Sub

Private Sub Text4_Change()
If IsNumeric() And Len() = 1 Then us
End Sub

心碎的句子-客家习俗


跑步姿势-世界看中国


网络知识竞赛-行政职业能力测验题


变形金刚背景音乐-美国圣诞节


项目建设汇报材料-世界环保日


51假期-妩媚女生


根号的运算-机井工程


yundonghui-威加海内兮归故乡