发布网友 发布时间:2022-04-28 23:09
共2个回答
热心网友 时间:2023-09-21 20:04
//随机数0-9以内可以用下面这个方法,要不然用洗牌的方法。
Randomize
Do
Do
W = Int((4 * Rnd) + 1) TracePrint W If InStr(字符串, CStr(W)) = 0 Then 字符串 = 字符串 & CStr(W)
TracePrint "字符串 = " & 字符串
Exit Do
ElseIf len(字符串) > 3 The 字符串 = ""TracePrint "新一轮开始"
End If
Loop
Delay 200
TracePrint"-------------" & W
// If W = 1 Then
// Call 子程序1
// Delay 999
// ElseIf W = 2 Then
// Call 子程序2
// Delay 999
// ElseIf W = 3 Then
// Call 子程序3
// Delay 999
// ElseIf W = 4 Then
// Call 子程序4
// Delay 999
// End Ifloop
热心网友 时间:2023-09-21 20:04
字符串和整数是不同的,,b=洗牌("1234567891011")这一句的参数属于字符串,10和11属于整数,当然是不行的。你可以用abcde代替,再用相应的按键码减去值就能的出整数。追问用abcdr代替我懂了 b=洗牌("qwertyuiopasdfghjk") 但是这个相应的按键码减去值没弄懂拜托回复下追答返回值 = 洗牌("abcdcdefg")
a=Array("0,0","224,0","336,0","448,0" ,"560,0","112,0","224,92","336,92","0,92","448,92","560,92","112,92" ,"0,184","112,184","224,184","336,184","448,184","560,184")
MessageBox a(Asc(返回值(1))-96)
//你想随机选取18个坐标就把上面返回值的括号数字改为1至18
Function 洗牌(字符串内容)
//说明:可以打乱一句内容顺序
//例子:MsgBox lib.算法.洗牌("123啊456")
Dim 结果,数量,i, j, temp
数量=Len(字符串内容)
ReDim tt(数量)
结果 = ""
For i = 1 To 数量
tt(i) = Mid(字符串内容,i,1)
Next
Randomize
For j = 1 To 数量
i = Int(数量 * Rnd + 1)
temp=tt(i)
tt(i)=tt(j)
tt(j)=temp
Next
// 洗牌 = Join(tt,"")//这句把TT数组合起来,修改为不合起,如下
洗牌 = tt
End Function