자.. if 문이란 무엇일까요?

 

개인적으로 if 문 활용만 잘하면 CR의 스크립트는 70% 이상 마스터 할수 있다고 자신있게 판단 합니다.

 

대부분의 스크립트는 if문이 가장 기초일테니깐요.

 

 

각설하고..... 네이버 사전을 뒤적여 봤습니다.

 

 

- if -

1. (가정적 조건을 나타내어) (만약) …면
2. (으레 그렇게 된다는 법칙적인 조건을 나타내어) …면, …하기만 하면

 

네. 그렇습니다.

 

만약 뭐뭐 라면... 이라는 뜻입니다.

 

강좌 2문에서 보셨듯이 서버변수, 계정변수, 임시변수가 있습니다. ( 물론 마법상태 체크 등 여러가지가 있겠지요. )

 

이걸 활용 하는겁니다.

 

 

ex) 1번

스크립트 시작 {

if($asdf == 1) { dialog 0,0,0, "하이"; }

else { dialog 0,0,0, "말걸지마"; }

 

}스크립트 끝

 

ex) 2번

스크립트 시작 {

set $asdf, 1;

if($asdf == 1) { dialog 0,0,0, "하이"; }

else { dialog 0,0,0, "말걸지마"; }

 

}스크립트 끝

 

 

자 2강에서 보셨던 스크립트 입니다.

 

잘 보시면 if 문이 들어가 있습니다.

 

왜 들어가있을까요?

 

저기에 쓰이는 $ 이건 무엇일까요? [ 계정변수 ]

 

if문은 거기서 나타내는겁니다.

 

 

 

if($asdf == 1) // 만약(계정변수에 적힌 asdf 가 1일때)

 

한글로 요렇게 해석이 되겠습니다.

 

얼라? 예제문에 보면 else 라는 단어가 있어요.

 

이게 무엇일까요?

 

if문에는 3개로 분류 할수 있습니다.

 

ifelse ifelse

만약그게 아니고 이거라면이도 저도 아니라면

네. 이해 못하시는분들을 위해 한글로 번역하자면

 

if문은 요 3개가 묶여 있습니다.

 

순서대로 나열하자면

 

if > else if > else

 

순이 되겠습니다.

 

if 뒤에는 else if 또는 else 가 나올수가 있고

 

if 뒤에 바로 else 가 나올수 있습니다.

 

그러나!!

 

처음부터 else if 또는 else 나올수는 없습니다.

 

이유인즉!!

 

이해를 쉽게 하기 위해 한글로 표현하겠습니다.

 

ifelse ifelse

만약그게 아니고 이거라면이도 저도 아니라면

 

그게 아니고 이거라면만약, 이도저도 아니라면 // 순서가 이상하죠??

 

그래서 if > else if > else 순으로 되어 있는 겁니다.

 

 

다시 한번 예제를 봅시다.

 

예제 1)

스크립트 시작 {

if($asdf == 1) { dialog 0,0,0, "하이"; }

else if($asdf == 2) { dialog 0,0,0, "방가"; }

else { dialog 0,0,0, "말걸지마"; }

 

}스크립트 끝

 

순서대로 나열해 봤습니다.

 

우선 첫째줄인..

 

 

 

if($asdf == 1) { dialog 0,0,0, "하이"; }

만약(계정변수에 저장된 asdf 가 1일때 { 대화창 : 하이 }

 

 

else if($asdf == 2) { dialog 0,0,0, "방가"; }

그게 아니고 만약(계정변수에 저장된 asdf 가 2일때 { 대화창 : 방가 }

 

 

else { dialog 0,0,0, "말걸지마"; }

위에 제시된 계정변수에 저장된 asdf 가 1도 아니고 2도 아닐때 { 대화창 : 말걸지마 }

 

 

 

이해 되시나요?

 

else 는 총괄로 볼수 있습니다.

 

위에 제시된 2가지의조건이 아니면.. 그러니까..

- 계정변수에 $asdf 라는게 없거나 숫자가 3이상일때  -

 

라는 조건으로 되겠지요.

 

끗~!

 

 

 

 

 

 

강좌 1번을 읽으신분들중에 스크립트는 위에서 부터 아래로 차례때로 읽는다. 라고 적은적이 있습니다.

 

한가지..... 여기서 만약에.........

 

 

예제 1

if($asdf == 2) { dialog 0,0,0, " 멍청이 "; set $asdf, 1; }

else if($asdf == 1) { dialog 0,0,0, " 바보 "; }

 

 

예제 2

if($asdf == 2) { dialog 0,0,0, " 멍청이 "; set $asdf, 1; }

if($asdf == 1) { dialog 0,0,0, " 바보 "; }

 

요렇게 되어 있습니다.

 

예제 1번일 경우 멍청이 대화창뒤에 바보 대화창이 뜰꺼 같죠? 아닙니다. 안떠요.

 

if > else if > else

 

의문을 가지는 분들이 계실껍니다.

 

아니.. set $asdf, 1 로 했으니

 

밑에 asdf == 1 를 읽어야 되는거 아니냐? 라고 의문을 가지는 분들도 계실껍니다.

 

if 문은 한번에 포괄적으로 잡는다고 했죠?

 

if문 밑에 else 가 붙으면 두줄의 스크립트는 한개로 본다 이겁니다.

 

중요하니까 이거 기억하세요.

 

예제 2번을 봅시다.

 

if가 2줄이 있네요.그러나 else 가 안붙고 또 바로 if가 붙습니다.

 

무슨 차이 일까요?

 

네. 정답은

 

첫번째 줄을 읽고 그 밑에 줄도 또 읽는다 입니다.

 

멍청이 라는 대화창이 뜨고 예제1번과 틀리게 밑에 바보 라는 대화창도 뜹니다.

 

이것만 잘 기억해 두시면 if문 활용도 어렵지 않게 볼수 있습니다.

 

 

 

 

3강 IF 문 끗

+ Recent posts