スクリプト/配列や実行順をシャッフルする

最終投稿者:Material 305033 1 mini cfm_ 更新:2015/12/07 18:41:17
配列をランダムに並び替える関数です。
これを使えば、ビンゴゲームなどのスクリプトが簡単に作れます。
def shuffle(s)#引数sには配列を入れる
  i=getArrayLength(s)-1
  while i>-1
    r = rand(i+1)
    t=s[r]
    s[r]=s[i]
    s[i]=t
    i=i-1
  end
end


 テストコード
test=createArray()
i=0
while i<8
  test[i]=i*2#配列testに0,2,4,6,8,10,12の値を入れる
  i=i+1
end
shuffle(test)#シャッフル
speak(test)
#実行結果 : 10,8,4,0,14,12,2,6



 おまけ:全てのtest[r]の処理をランダムな順で行いたいときのサンプル
test=createArray()
i=0
while i<8
  test[i]=i*2#配列testに0,2,4,6,8,10,12の値を入れる
  i=i+1
end
i=getArrayLength(test)-1
while i>-1
  r = rand(i+1)
  speak(test[r])#test[r]の処理の例として、メッセージを表示
  test[r]=test[i]
  i=i-1
end
#実行結果:0,2,10,8,4,6,14,12 の順でメッセージを表示

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。