作者rosemary (原po比较老)
看板Visual_Basic
标题Re: [.NET] 请问AB数字游戏的写法
时间Tue Oct 4 01:37:58 2005
※ 引述《yougetit1999 (清)》之铭言:
: 我想请问一下关於AB数字游戏的写法,系统会随机乱数
: 取出3位数,由玩家来猜测,数字不能重复,当数字跟
: 位置对为A,数字对为B,例如答案是321时,如果玩家
: 输入123会出现1A2B,当输入456时,出现0A0B,完全答
: 对为3A,即为正确解答。关於乱数3位数数字也不能重复
: ,可以指导我一下,思考方向应该是怎样,会利用到哪
: 些函数呢,谢谢各位...
乱数产生数字的部份就不多说了,
首先把产生的数字和猜的数字都存成阵列
Dim Q(2) As Integer '题目
Dim gus(2) As Integer '使用者猜的答案
'...... 把数字带入阵列
'检查几A几B的方法其实很简单,只要两个回圈就好
Dim A, B As Integer
For i As Integer = 0 To 2
For j As Integer = 0 To 2
If Q(i) = gus(j) And i = j Then '数字相同、位置也相同
A += 1
ElseIf Q(i) = gus(j) And i <> j Then '数字相同,位置不同
B += 1
End If
Next
Next
'显示结果
If A = 3 Then
MessageBox.Show("Yes!! You Win!!")
Else
MessageBox.Show(A & " A " & B & " B")
End If
如果要做的精细点,记得在玩家输入数字的时候也要做重复数字的检查
--
原po是歪欧巴桑。三十几岁的老人家
http://www.wretch.cc/user/rosemary945
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.223.194.131