FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】ランダムで重複しない数値がほしい時って。 

    こんにちは。
    大坂です。

    本格的にネタがありません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)

    tb 0 : cm 2   

    コメント

    重複しない値を取り出したいときは、リストに突っ込んで、適当なアルゴリズムでシャッフルして、前から(後ろからでも)何個って取り出すのが楽ですよ。
    Removeするより確実ですし

    しろくろ #- | URL | 2018/02/15 12:22 [edit]

    Re: タイトルなし

    しろくろさん

    コメントありがとうございます!
    確かにそういうやり方もありますね!
    参考にさせてもらいます!

    株式会社ハルシオンシステム #- | URL | 2018/02/15 15:47 [edit]

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/477-c32f85d8
    この記事にトラックバックする(FC2ブログユーザー)