您的位置:首页 > 编程语言 > VB

VB洗牌算法产生随机数组

2016-04-07 04:10 591 查看
算法图示:



运行效果:



详细代码:

Option Explicit
'洗16张牌(0-15),方便用十六进制显示
Private Const CARDMAX = 15
Dim Card() As Long

Private Sub 洗牌()
Dim i&, l&, r&, t&
l = CARDMAX
For i = 0 To CARDMAX
r = Rnd * l
t = Card(l)
Card(l) = Card(r)
Card(r) = t
l = l - 1
Next i
End Sub

Private Sub Command1_Click()
Call 洗牌
'输出洗牌结果和牌点总和
Dim i As Long
Dim n As Long
For i = 0 To CARDMAX
Print Hex(Card(i));
n = n + Card(i)
Next i
Print " - SUM:" & n
End Sub

Private Sub Form_Load()
Randomize
'初始化牌
ReDim Card(CARDMAX)
Dim i As Long
For i = 0 To CARDMAX
Card(i) = i
Next i
End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: