見出し画像

【ティラノスクリプト】配列から複数の要素をランダムに取り出すサンプル

配列から複数の要素をランダムに取り出すサンプルです。

*button

[glink target="*get" text="選択" x="477" y="100" width="200"]

[s]

*get

[iscript]

f.list = [
  "01_佐藤",
  "02_鈴木",
  "03_高橋",
  "04_田中",
  "05_伊藤",
  "06_渡辺",
  "07_山本",
  "08_中村",
  "09_小林",
  "10_加藤"
];

function getRandomElements(originalArray, numElements) {
  const arrayCopy = [...originalArray];
  const indexedArray = arrayCopy.map((element, index) => ({ element, index }));
  shuffleArray(indexedArray);

  const randomElements = indexedArray.slice(0, numElements)
                                      .sort((a, b) => a.index - b.index)
                                      .map(item => item.element);

  return randomElements;
}

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
}

f.result = getRandomElements(f.list, 3);

[endscript]

[layopt layer="message0" visible="true"]

[emb exp="f.result"][p]

[layopt layer="message0" visible="false"]

[jump target="*button"]

この記事が気に入ったらサポートをしてみませんか?