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개가 뽑히도록 작성했습니다.
반응형
    
    
    
  '스파르타 게임개발종합반(Unity) > 사전캠프 공부 기록' 카테고리의 다른 글
| [Unity/2D] 숙제 - 해적 고양이 만들기 (0) | 2024.04.04 | 
|---|---|
| [Unity] 프리팹 인스턴스 언패킹 - Unpack (0) | 2024.04.04 | 
| [Unity/2D] 레벨 시스템 구현 - UI, text, ToString, localScale (0) | 2024.04.04 | 
| [Unity/2D] 체력바 게이지 상승하는 코드 작성 - UI, OnTriggerEnter2D, localScale (2) | 2024.04.03 | 
| [Unity] Prefab을 Hirarchy창에서 변경했을 때 기존 Prefab에도 변경사항 적용하는 법 (0) | 2024.04.03 | 
 
			
			 
				
			
댓글