My작품

C++ 가챠 시뮬레이터 (Type A)

올라운더 심지훈 2020. 12. 26. 19:32
728x90
반응형

바로 C++ 가챠 시뮬레이터 입니다. 최근에 가챠 게임을 많이 해가지고 '가챠 시뮬레이터 한번 만들어볼까?' 라는 생각으로 코딩하게 되었네요 ㅋㅋ 화면만 봐서는 무슨 뜻인지 잘 모르는 분들도 계시겠죠? 화면을 하나하나씩 설명해보겠습니당

우선 시작하겠다는 표시로 'y'를 입력했고 각 레어에 대한 확률을 입력했습니다. 위의 화면에서 입력한 정보를 정리해보면 아래와 같습니다.

1성(★☆☆☆☆) 등장 확률 : None

2성(★★☆☆☆) : 74%

3성(★★★☆☆) : 20%

4성(★★★★☆) : 5%

5성(★★★★★) : 1%

그리고 가챠를 10번 돌리겠다고 입력했습니다. 과연 결과는 어떻게 나올까요??

(내 가챠 운은 좋은가 나쁜가... ㅋㅋㅋ)

가챠 결과가 출력되었습니다. 정리해보면,

4성(★★★★☆) 1개

3성(★★★☆☆) 2개

2성(★★☆☆☆) 7개

가 나온 것입니다~!! (나름 좋게 나온거같네요 ㅋㅋㅋ)

후에 프로그램을 종료하겠다는 의미로 'n'을 입력했구요.

이제 핵심이 되는 소스코드만 설명하겠습니다.

※ 가독성을 최대한 높이기 위해 이미지로 제시하였습니다. 아래의 소스코드는 맨 아래쪽에서 다운받으실 수 있습니다.

각 레어에 대한 확률 값을 가지고 가챠 배열을 세팅해주는 함수입니다. 확률 값을 입력받았을 때 해당 값만큼 배열을 레어 숫자로 채워주는 방식을 사용하였습니다. 예를 들어, 2성이 등장할 확률이 90% 이면, 배열 내의 값을 90개만큼 '2'로 채우는 것이지요.

가챠 배열을 이용해 횟수만큼 가챠를 돌려보는 함수입니다. 이 함수가 해당 프로그램에서 가장 핵심이 된다고 볼 수 있습니다.

rand() 함수를 통해 배열 index 값을 랜덤으로 받아 레어 숫자를 결과값으로 얻고, 결과 값을 저장해 출력해주는 방식입니다. 확률 값에 따라 배열 내의 값을 세팅해주었기 때문에, 지정한 확률대로 결과가 출력됩니다.

이렇게 C++로 가챠 시뮬레이터를 만들어 보았습니다. 오랜만에 재미있는거 한번 해보았네요 ㅋㅋㅋㅋㅋ

소스 파일도 업로드해드리니 필요하신 분들은 다운받아서 참고하시면 되겠습니다.

 

 

<소스 코드>

https://github.com/jhs951101/GachaSimulatorA 

728x90
반응형
LIST