用VB编程如何编写游戏《猴子选大王》?

'form中加一个文本框,一个按钮 Dim a() As String '猴子名称的数组,分别用A,B,C....代替

Dim s As String '通报谁进行角逐的字符串

Dim houzi As Double '抢王的猴子数

Private Sub Command1_Click()

Dim i, ttag As Integer 'i是第几只猴子,ttag是报数的旗标

If Not IsNumeric(Text1.Text) Then

MsgBox "请输入猴子的个数(正整数)"

Exit Sub

Else

houzi = Val(Text1.Text) - 1

If houzi = 0 Then

MsgBox "一只猴子怎么抢?"

Exit Sub

End If

If houzi <= 0 Or Int(houzi) <> houzi Then

MsgBox "请输入猴子的个数(正整数)"

Exit Sub

End If

End If

ReDim a(houzi)

For i = 0 To houzi

a(i) = Chr(i + 65)

s = s & a(i) & Space(2)

Next

MsgBox s & "进行角逐!"

i = 0 '从第一只猴子开始数

ttag = 1 '从1开始数

ub = UBound(a) '数组长度

Do '不断循环

If ub <= 0 Then '如果只剩一只猴子,那么...

MsgBox "The King is : " & a(0) '通报谁是王

'----------------------------------

s = ""

Erase a '初始数据

houzi = 0

Exit Sub

'----------------------------------

End If

If ttag = 3 Then

If i < ub Then '如果报数的猴子不是最后一只

For j = i To ub - 1

a(j) = a(j + 1) '把这只干掉,把后面的推上来

Next

End If

ub = ub - 1 '猴子,又少了一个

ReDim Preserve a(ub) '重定义数组

ttag = 0 '重新开始数1,2,3 0是因为配合后面的+1

i = i - 1 '本来的a(4)变成了a(3),所以还是从a(3)数,只是a(3)的位置是另一个猴子了, 配合后面的+1

End If

If i = ub Then

i = -1 '如果报到3的猴子是最后一只,那么重新从第一只开始数,配合后面+1

End If

i = i + 1 '下一只猴子准备

ttag = ttag + 1 '上一个数1,那么下一个呢?

Loop

End Sub