본문 바로가기
Unity 유니티 기초강의

[알고리즘] 셔플 알고리즘

by 만사오케이프로 2020. 6. 5.
반응형

Unity C# 에서 중복없이 뽑기에 사용하기 좋은 알고리즘입니다.

    public void ShuffleList<T>(List<T> list)
    {
        int random1;
        int random2;
 
        T tmp;
 
        for (int index = 0; index < list.Count; ++index)
        {
            random1 = UnityEngine.Random.Range(0, list.Count);
            random2 = UnityEngine.Random.Range(0, list.Count);
 
            tmp = list[random1];
            list[random1] = list[random2];
            list[random2] = tmp;
        }
    }

 

사용 예)

카드게임에서 카드뽑기 게임에 사용할수 있습니다.

궁수의 전설 모바일게임에서 랜덤 버프로 사용할수 있습니다.

 List<string> RandomChaperBuff = new List<string>();
 ShuffleList(RandomChaperBuff);

 string buff1 = RandomChaperBuff[0];
 string buff2 = RandomChaperBuff[0];

 

반응형

댓글