스파르타 게임개발종합반(Unity)/사전캠프 공부 기록

[Unity] Prefabs 확률로 생성하기, 게임 규칙 추가하기

테크러너 2024. 4. 4.
    public GameObject normalCat;
    public GameObject fatCat;
    
    void MakeCat()
    {
        Instantiate(normalCat);

        if(level == 1)
        {
            // lv.1 20% 확률로 고양이를 더 생성해준다.
            int p = Random.Range(0, 10); // 0 ~ 9
            if(p < 2) Instantiate(normalCat); // 10개중에 2개만 선택됨 => 20% 확률 표현
        }
        else if(level == 2)
        {
            // lv.2 50% 확률로 고양이를 더 생성해준다.
            int p = Random.Range(0, 10); // 0 ~ 9
            if (p < 5) Instantiate(normalCat); // 10개중에 5개만 선택됨 => 50% 확률 표현
        }
        else if(level == 3)
        {
            // lv.3 뚱뚱한 고양이를 생성해준다.
            Instantiate(fatCat);
        }
    }

20%, 50%의 확률로 고양이가 더 생성되록 코드를 작성했습니다.

 

20%를 표현하려면?

20%는 100중에 20이라는 의미니까 10중에 2도 동일합니다.

그러면 0~9까지(10개)의 수 중에서 2개만 뽑으면 20%의 확률이 표현될 수 있습니다.

그래서 위와 같이 코드를 작성했습니다.

 

50%도 마찬가지로 10개 중 5개가 뽑히도록 작성했습니다.

반응형

댓글