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

用VB如何编写游戏《猴子选大王》程序?规则:假如有5个猴子,开始报数1、2、3、数3的出,接着第四个数1…这样最后一个为大王利用循环结构和数组编写代码?... 用VB如何编写游戏《猴子选大王》程序?
规则:假如有5个猴子,开始报数1、2、3、数3的出,接着第四个数1…这样最后一个为大王
利用循环结构和数组编写代码?
展开
 我来答
匿名用户
2013-08-12
展开全部
'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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式