강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của lunaciagames5669
lunaciagames5669

câu hỏi đã được viết

[Đánh giá mã trò chơi thực tế] Trò chơi giải trí Unity (AlicePang)

Giai đoạn và hàng tồn kho

랜덤 확률 계산

Viết

·

990

0

안녕하세요. 관련 프로젝트 클론 코딩하던 중, 질문이 생겨서 적어봅니다.

목표 : 누적확률(시행마다 가중치 X) 없이 독립시행으로, 확률에 따른 이벤트 발생

#과정 1.

float _rand = Random(0f,1f)

=====
#과정2.

0.5f를 기준값으로 계산

ex)시행 1: _rand = 0.6f

시행 2: _rand : 0.2f

=> 시행 1 -> 1 - 0.6 = 0.4f

=>시행 2 -> 0.5보다 낮으므로 0.2f

=====

#과정3.

2에서 계산된 _rand값을 기준으로 해당되는 확률 테이블의 데이터를 가져올 때,

시행 1 -> 0.4f이므로, acqPercent 0.4 이하인 요소들을 전부 List로 끌고 온 뒤, 그 List에서 랜덤으로 뽑음

=====
질문 :

이러면 처음에 rand로 나온 값이 의미가 없어지고 rand 미만의 요소들이 담긴 list에서, 1/list 갯수 만큼의 확률로 계산되는거 같은데 ( 원래 설정한 0.005, 0.1 이런건 무시되고 )

아예 확률표를 잘못 작성했다던가 계산법이 잘못된거 같은데 잘 모르겠습니다 ㅠㅠ

참고자료 : 엑셀 표 ( 총 확률은 0.7 , 나머지 0.3은 아무것도 발생시키지 않도록 설정)

14231.PNG

C#unity

Câu trả lời 1

1

Rookiss님의 프로필 이미지
Rookiss
Người chia sẻ kiến thức

아이템 드랍 공식은 스스로 판단해서 만들어보시기 바랍니다.
일반적으로 총합이 1인 데이터가 있다면, 구간을 만드는게 가장 쉬운데요.
ex) 0.4 0.3 0.3 확률로 아이템이 떨어진다면,
[0.0~0.4] / [0.4~0.7] / [0.7~1.0] 이렇게 3 구간으로 나누고
랜덤을 0~1 사이로 굴리면 3 구간 중 하나엔 들어갈테니 그 아이템을 떨구는 것이죠.

Hình ảnh hồ sơ của lunaciagames5669
lunaciagames5669

câu hỏi đã được viết

Đặt câu hỏi