LlListRandomize/ja
From Second Life Wiki
メインページ > LlListRandomize > LlListRandomize/ja
仕様
リストの全要素の位置をシャッフルしたい場合は、stride に 1 を指定してください。これは最も一般的な設定でしょう。
stride がリストの長さの約数でない場合、リスト src が返ります。
概念的には、このアルゴリズムはリストを "リストの長さ ÷ 間隔" 個の塊に切り分けます。そしてそれぞれの塊どうしが互いにシャッフルされます。
例
list dice = ["2", "4", "1", "6", "3", "5"]; default { touch_start(integer num_detected) { list shuffled = llListRandomize(dice, 1); llOwnerSay(llList2CSV(shuffled)); } }
list list01 = ["Cold", "pizza", "in", "the", "early", "morning"]; list list_random = llListRandomize(list01, 2);
list_random の結果としてあり得るのは以下です:
- ["Cold", "pizza", "in", "the", "early", "morning"]
- ["Cold", "pizza", "early", "morning", "in", "the"]
- ["in", "the", "Cold", "pizza", "early", "morning"]
- ["in", "the", "early", "morning", "Cold", "pizza"]
- ["early", "morning", "Cold", "pizza", "in", "the"]
- ["early", "morning", "in", "the", "Cold", "pizza"]
間隔 (stride) に 2 が指定されたので、元のリストで隣り合っていた二個の要素が、常に離れずにいる点に注意してください。
list list_random = llListRandomize(list01, 6);
6 個単位で要素を保持するよう指定し、リストには 6 個しか要素が無いため、list_random はシャッフル前と全く同じ並び順になります。
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

