'シャッフルする配列 Dim ary(135) As Integer '配列の初期化 For ix As Integer = 0 To 135 ary(ix) = ix Next ix
'Fisher-Yatesアルゴリズムでシャッフルする Dim rng As New System.Random() Dim n As Integer = ary.Length While n > 1 n -= 1 Dim k As Integer = rng.Next(n + 1) Dim tmp As Integer = ary(k) ary(k) = ary(n) ary(n) = tmp End While
'テスト シャッフルの結果を先頭から13個表示 For m As Integer = 0 To 12 MsgBox(wSt(ary(m))) Next m