【ハルシオンブログ】ランダムで重複しない数値がほしい時って。
こんにちは。
大坂です。
本格的にネタがありませんorz
ということでたまにやってることでも。
1-10の間でランダム値を重複しないで何個かほしいときなんかがあります。
いつもやってるのはいったんListに突っ込んでから取り出して、Listから消すような感じですね。
てな感じで取れますよね。
一応結果。。

あと色々見てたらこんな記事がありました。
http://developer.wonderpla.net/entry/blog/engineer/Unity_RandomNumber/
Random関数はとりあえずUnityEngine.Randomを使っとけばいいらしいです。
UsingでSystemを追加してるとどっち使うのか聞かれることもあると思うので、そんなときの判断になりますかね?

これね。
ではでは、またですノシ
大坂です。
本格的にネタがありませんorz
ということでたまにやってることでも。
1-10の間でランダム値を重複しないで何個かほしいときなんかがあります。
いつもやってるのはいったんListに突っ込んでから取り出して、Listから消すような感じですね。
List numList = new List();
for(int i = 1; i <= 10; i++) {
numList.Add(i);
}
while(numList.Count > 0) {
int ran = Random.Range(0, numList.Count);
int num = numList[ran];
Debug.Log(num);
numList.RemoveAt(ran);
}
てな感じで取れますよね。
一応結果。。

あと色々見てたらこんな記事がありました。
http://developer.wonderpla.net/entry/blog/engineer/Unity_RandomNumber/
Random関数はとりあえずUnityEngine.Randomを使っとけばいいらしいです。
UsingでSystemを追加してるとどっち使うのか聞かれることもあると思うので、そんなときの判断になりますかね?

これね。
ではでは、またですノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】いたって簡単!UnityのuGUIのオブジェクトをドラッグアンドドロップする方法。 | 【ハルシオンブログ】簡単な時間計算と、こんな感じでログボもらえるかの処理書いてるよって話。 »
コメント
重複しない値を取り出したいときは、リストに突っ込んで、適当なアルゴリズムでシャッフルして、前から(後ろからでも)何個って取り出すのが楽ですよ。
Removeするより確実ですし
しろくろ #- | URL | 2018/02/15 12:22 [edit]
Re: タイトルなし
しろくろさん
コメントありがとうございます!
確かにそういうやり方もありますね!
参考にさせてもらいます!
株式会社ハルシオンシステム #- | URL | 2018/02/15 15:47 [edit]
| h o m e |