ย ย float Choose(float[] probs)
ย ย {
ย ย ย ย float total = 0;
ย ย ย ย foreach (float elem in probs)
ย ย ย ย {
ย ย ย ย ย ย total += elem;
ย ย ย ย }
ย ย ย ย ย
ย ย ย ย float randomPoint = Random.value * total;
ย ย ย ย for (int i = 0; i < probs.Length; i++)
ย ย ย ย {
ย ย ย ย ย ย if (randomPoint < probs[i])
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย return i;
ย ย ย ย ย ย }
ย ย ย ย ย ย else
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย randomPoint -= probs[i];
ย ย ย ย ย ย }
ย ย ย ย }
ย ย ย ย return probs.Length - 1;
์์ ์์๋๋ฐ๋ ๊ฐ์ค์น์ ๋ฐ๋ผ ๋์ค๋๊ฑฐ ์ดํด ์๋๋๋ฐ
์ ๊ฐ์ค์น์ ๋ฐ๋ผ ๋์ค์ง?ย
์ฝ๋ ๋ฐ๋ผ๋ง ์น์ง๋ง๊ณ ๋ด