1편 - PRINT문

2편 - IF문

제가 계획한 마지막편!

물론 다른것 물어보면 계속 쓰긴 할거지만

아직 뭐 써달라는 말이 없으니 그때까지는 잠정적 중단할 생각입니다.


1. RAND문이란


간단히 말하자면 가챠 시스템... 이 아니라

출력하는 내용을 확률에 따라서 다르게 만들어주는 것입니다.

물론 저거 사용하면 가챠 시스템 만들수는 있습니다.

굳이 할 이유가 없을 뿐이지만요.


제가 이렇게 작성한다면


이렇게 나오거나


이렇게 나온다는 말이죠.



2. RAND문의 사용법 - 1/n으로 나누기


여러가지 구문을 적어놓고, 그 중 하나를 선택하게 하는 방식입니다.

즉 출력하려는 종류가 1, 2, 3, 4, 5 이렇게 5개라면

저 숫자 중 하나가 출력될 확률은 모두 균등하게 20%라는 말입니다.

작성하는 방식은 아래와 같습니다.

IF RAND:(n) == 0

ELSEIF RAND:(n-1) == 0

ELSEIF RAND:(n-2) == 0

………

……

ELSEIF RAND:2 == 0

ELSE

ENDIF


예를 들어 제가 이렇게 작성한다면


이렇게 나올 확률은 1/5인 20%입니다.



3. RAND문의 사용법 - 퍼센트로 설정하기


말 그대로 어떤 구문이 나올 확률을 세밀하게 조절하는 방법입니다.

단지 세밀하게 하려면 알아야 하는 것이 있는데, 그건 다음에 설명하도록 하겠습니다.


이번에는 숫자를 써서 설정하는 방법인데, n에 원하는 확률을 적어넣으시면 됩니다.

IF RAND:100 <= n

ELSE

ENDIF


예를 들어 제가 이렇게 작성한다면


이렇게 출력될 확률은 90%,


이렇게 출력될 확률은 10%라는 것입니다.



4. RAND문의 주의할 점


3에서 언급한 것처럼 세밀하게 하기 위해서 알아야 하는 것이 있습니다.

2번과 3번의 차이점을 보면 대충 짐작 가능하신 분이 있겠지만,

보여주면서 하는 것이 빠르니 우선 보여드리겠습니다.


만약 제가 70%, 20%, 10% 확률을 작성하고 싶어서 이렇게 작성했다면


이렇게 나올 확률이 70%,


이렇게 나올 확률이 6%,


이렇게 나올 확률이 24%입니다.


이런 결과가 나온 이유는 가장 먼저 확률을 정한 후에

남은 수치가 확률에 적용되기 때문입니다.

가장 처음에 70%의 지분을 차지한 후에 

20%를 차지하라고 작성했으니

남은 30%의 20%, 즉 6%의 확률이 됩니다.

ELSE는 나머지를 무조건 다 받아들이니 남은 24%를 차지하게 되구요.


만약 원하는 확률을 여러가지 만들고 싶자면,

이런 식으로 써야합니다.

IF RAND:100 <= n

ELSEIF RAND:(100-n) <= m

………

……

ELSE

ENDIF


이걸 위에 사용하고 싶었던 70%, 20%, 10%으로 만들게 된다면 이렇게 작성하면 됩니다.


그렇게 된다면 이게 70%,


이게 20%,


이게 10% 확률로 나오게 됩니다.



확률편 끝!

알고싶은 방식이 있거나 더 설명해줬으면 하는게 있다면 말해주세요!

아, 물론 모른다면 저도 찾아보고 나서 작성합니다.

코딩이니 뭐니 이런거 하나도 공부 안 하고 에라 뒤적거리면서 이해한거라

100% 맞다고는 못하지만 대충 이런 프로세스로 적용된다 라고 보시면 됩니다.


사실 구상 작성하는 것은 이 3가지만 알면 큰 문제가 없습니다.

만약 여기에서 한 걸음 더 걸어나가면 그때는 구상이 아닌

이벤트 작성 같은 부분으로 넘어가는 것이니 

어찌 보면 구상 추가라는 저 앞머리도 때야할 것 같네요.

뭐 누가 더 작성해달라고 하면 그때 생각해보도록 하죠.