[메가텐] CASE와 RAND의 차이점을 알고 싶습니다.

지뢰탐지기 | 질문 | 조회 수 225 | 2018.11.01. 18:57

 요즘 스스로 구상을 수정하며 즐기고 있는데

바꾸면서 다른 구상들을 둘러봤더니 CASE와 RAND가 비슷하게 쓰이던 것 같더군요.

하지만 뭔가 다른 점도 있는 것 같은데, 정확하게 어떤 점이 다르나요?

댓글 쓰기
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
취소
말 던지기전에 10초만 고민하고, 자기가 쓴 글을 다시 한번만 읽어보셈.
그 10초가 다음 대화의 방향을 크게 바꿀 수 있을지도 모름.
마리 at 2018.11.01. 19:53

RAND는 확률 쪽으로 알고있습니다. RAND:100 <1 이면 0~99중 1 미만일 경우. 즉 1퍼센트 확률로 발동하는

이벤트..

CASE는 SELECT ABC처럼 SELECT 옆에 변수를 달아 해당 변수값이 가지는 값을 갖는 CASE를 선택합니다.

SELECT 마스터속성:LD

   CASE "Light"

   CASE "Dark"

   CASE "Neutral" 처럼요.

잠깐 아침이벤트쪽 확인하다 SELECT 안보여서 내가 잘못알고있었나 했는데 아침이벤트 발생하는 코드에 가보면 아마 셀렉트도 있겠죠;

ㅇㅇ at 2018.11.01. 22:39

두 개는 전혀 다른 함수입니다.

rand는 확률분기 만들 때 쓰는 무작위 함수고

case는 조건문 사용할 때 쓰는 select case의 일부이며

간단한 조건문 함수인 if end함수와 비슷한 용도로 사용할 수 있습니다.

ㅂㅂ at 2018.11.01. 23:28

rand를 쓸때 case를 넣어서 분기문을 만드는 경우가 있는데 그걸 보신 모양이네요.

파라디클로로벤젠 at 2018.11.02. 01:59

RAND는 수의 폭을 정의하여 범위내의 정수중 하나를 뽑는 명령구입니다.

일반적으로는 최댓값-1의 경우의 수가 나옵니다. ( 최댓값과 0 사이의 값을 출력하기 때문 )

즉 RAND:N의 경우 0~N-1까지의 범위내의 숫자를 하나 뽑게 됩니다.

 

범위가 정수로 정의될 수 있다면, 문자열을 이용하여 이단 치환시켜도 적용됩니다.

A = 임의의 정수 X

B = RAND : A 면 B는 0부터 X-1까지의 임의의 정수중 하나

-

CASE는 어느 한 난수에 대한 분기를 정의하는 명령구입니다.

이 명령구의 이해를 위해서는 SELECTCASE를 알아야 합니다.

 

일반적으로 SELECTCASE는 문자열 함수에 적용시킬 수 있습니다.

즉 SELECTCASE 1 은 1이라는 정수 CASE를 찾는 것이 아니라, 1이라는 전각 문자의 CASE를 찾게 됩니다.

그렇다보니 일반적으로 SELECTCASE는 혼란을 막기 위해 숫자가 아닌 문자로 구성된 문자열을 제시하곤합니다.

 

* SELECTCASE (임의의 문자열함수)

 

이 SELECTCASE로 제시된 문자열 안 고유값이 무엇인지,

그 무엇에 따른 출력값은 어떻게 되는지를 제시하는것이 CASE입니다.

 

다음과 같이 사용하며, 위에서 설명한 것 처럼 IF문과 흡사하게 사용됩니다.

-

;A에 대한 분기를 처리한다

SELECTCASE A

;A가 0일경우

CASE 0

;A가 1일경우

CASE 1

;A가 2일경우

CASE 2

또한, IF가 있는데 SELECTCASE를 쓰는 이유가 무엇인가에 대해서는 다음과 같습니다.

CASE를 이용하여 정수의 범위를 정할 때, IF와는 달리 CASE는 정수의 범위 입력이 간편하다는 점이 있습니다.

상세한 점은 Emuera 위키쪽을 참고하시면 도움이 될거같습니다.

https://seesaawiki.jp/eratoho/d/ERB%B9%BD%CA%B8%B9%D6%BA%C22

 

지뢰탐지기 at 2018.11.02. 17:56

즉 RAND는 말 그대로 랜덤한 난수를 만드는 용이고,

CASE는 선택지에 주로 쓰인다는 말씀이군요.

 

답변 감사드립니다!

다른 분들의 답변에도 댓글을 달까 고민하다가 게시판이 어수선해 질 것 같아서 여기에만 씁니다.

번호 분류 제목 날짜 글쓴이 최근 수정일 조회 수
공지 이메일 적지 마세요 제발! [6] 18.11.07. 파라디클로로.. 19.05.26. 6992
공지 정보글 [9] 18.06.16. 파라디클로로.. 19.06.10. 18705
공지 에라판 이용안내 18.05.14. 파라디클로로.. 18.12.31. 10436
공지 eraTHYMKR 20190608 [26] 18.05.14. ㅇㄹ 19.09.01. 32002
2397 질문 (메가텐)이 오류의 이유를 모르겠습니다.. [5] file 18.11.27. 모스부호 18.11.29. 301
2396 개별팩 [메가텐]얼굴 이미지 패치 여성 캐릭 전원+남성 캐릭 일부 [5] file 18.11.27. ㅇㄷ 18.11.27. 1671
2395 질문 (메가텐)erb 파일 내부 처리를 통해 csv 번호를 바꾸는 함수를 알고 싶습니다 [1] file 18.11.26. ㅇㄷ 18.12.03. 168
2394 질문 (메가텐)구상이 제대로 나오지 않습니다... file 18.11.25. 모스부호 18.11.29. 101
2393 질문 tw 임신이 너무 안돼요 ㅠ [4] 18.11.25. ㅇㅇ 18.11.27. 1016
2392 팁, 정보 메가텐 화상이 없는 캐들 사진 몇개 file 18.11.25. 지나가던사람 18.11.25. 578
2391 질문 [메가텐]RE116버전에 그림을 추가하는 방법이 궁금합니다. [2] 18.11.24. ㅈㄱㄴ 18.11.24. 322
2390 질문 (메가텐)무엇이 문제인지 잘 모르겠습니다.. [4] file 18.11.24. 모스부호 18.11.24. 149
2389 질문 eratohoj DEBUG활성화 어떻게 해요? [2] 18.11.24. Djdj 18.11.24. 291
2388 개별팩 (메가텐)DC 화상 통합팩에서 미번 부분들 몽땅 번역한것. [1] file 18.11.24. 모스부호 18.12.09. 925
2387 질문 메가텐애 들어간 아이마스 구상은 어디꺼임? [4] 18.11.23. 드후 18.11.23. 355
2386 개별팩 메가텐 : PUELLA_MAGI(마마마) 캐릭터 회상추가 [5] file 18.11.21. ㅇㅇ 18.11.22. 622
2385 개발정보 UserDicXml2Json file 18.11.21. ㅇㅇ 18.11.21. 726
2384 질문 에라 추천 부탁드립니다+파일을 찾고있습니다 18.11.21. 갸악 18.11.21. 468
2383 질문 (메가텐)구상이 제대로 나오지 않습니다.. 그 두번째 [3] file 18.11.20. 모스부호 18.11.21. 168
2382 질문 메가텐 : 엔젤 변이 질문 [4] 18.11.19. 이터니아 19.01.24. 802
2381 질문 tw를 처음 시작했는데 찾아봐도 안보여서 질문드림니다 [3] 18.11.19. ㅂㅈㄷㄱ 18.11.21. 653
2380 개발현황 에라토호 리버스K github. (손번역자 모집) [1] 18.11.19. 암모니아 19.02.10. 1023
2379 질문 (메가텐)오류가 뜨는 이유를 모르겠습니다.. [2] file 18.11.19. 모스부호 18.11.19. 138
2378 [YM] [eraTHYMKR20181028] 린노스케 공방 대기 에러 [2] file 18.11.17. Edin 18.11.18. 254