作者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