히로매크로 커뮤니티

2015.04.26 01:50

기본 구문 설명 : if

조회 수 1819 추천 5 댓글 36

안녕하세요?

이것저것 개인적인 일이 좀 많아서 많이 늦었네요


없으시겠지만 혹시나 기다리신분들이 계시다면 감사하고 죄송합니다. !


지난번까지 변수, 터치, 색값에 관련된 스크립트에 대해 강좌를 했었는데요?


오늘은 위에서 배운놈들을 좀 똑똑하게 만들어줄 if 구문을 만들어 보겠습니다.?


제가 주로 즐기며 주로 하는 게임이 별이 되어라(이하 별되) 여서 별이 되어라 기준으로 설명을 하는점 이해 바랍니다.?


별되 뿐만이 아니라 다른 게임에서도 메크로를 제작해서 올려주시는 분들의 스크립트 처럼 만들기 위해서는?


메크로 자체에서 상황을 판단하고 실행할수 있는 능력이 필요하다 생각됩니다.?


이 상황을 판단하는 방법에는 이미지서치, 색값비교 등등의 방법이 있겠지만 히로메크로에서는 사실상 색값 비교라는 방법 밖에는 없습니다.?


그래서 기존에 색값을 가져오는 방법을 설명을 한것이구요.?


본론으로 들어가기에 앞서


히로 메크로의 특징 하나를 설명하고 넘어가야 할듯 합니다.?

자바에서 한줄을 나누는 ; 과는 다르게 히로메크로에서는 스크립트를 작성할때 한줄이 코드 하나로 인식을 하게 됩니다.?


예를 들면?


100, 200 좌표의 색값을 가지고 오는 스크립트인?

getcolor #color 100 200?

를?

getcolor #color

100 200?

이렇게 두줄로 작성을 하시면 안된다는것입니다.?

원하는 하나의 기능은 한줄에 담으셔야 합니다.?


영어에서는 만약에...if 구문입니다.?


자신이 지정한 실행 조건이 맞아 들어가게되면 아래에 오는 스크립트를 실행하고 그렇지 않다면?

현 if 구문에 종속되어있는 endif 까지의 구문을 죄다 넘기고 다음 스크립트를 실행하게 만들어 줍니다.?


예를 들어?


var #check 0

:start

#check = #check + 1


if #check == 5

toast #check

goto :end

endif

goto :start

:end


라는 스크립트를 기준으로 설명을 하게되면?


최초 #check 의 값은 0 입니다.?

그리고 스크립트가 진행이 되면서?

#check = #check + 1 이라는 스크립트를 거치면?

#check 의 값은 그전의 #check 값에 + 1 을 더하여라 라는 의미가 되어?

#check 의 값은 1이 됩니다.?

그 후 따라오는 if 구문을 보시면 #check == 5 즉 #check 의 값이 5가 되었을때?

toast #check ?화면에 #check 의 값을 표시한 후?

goto :end 종료해라..?

라는 기능이지만?

아직은 #check 값이 1이기 때문에 이 스크립트는 if~ endif 까지를 다 뛰어넘고?

goto :start 시작지점으로 돌아가기가 실행되게 됩니다.?

이렇게 #check 의 값이 5가 될때 까지 반복을 하고나서 종료를 하게 됩니다.?


여기서 스크립트에 조금 더 살을 붙여 보겠습니다.?

elseif 구문을 추가 할것인데요?

이놈은 처음 if 구문에 들어왔을때의 값을 기준으로 판단을 하게됩니다.?

아래 구문을 보시지요?


var #check 0

:start


#check = #check + 2


if #check == 5

toast #check

goto :end

elseif #check == 6

#check = #check - 3

endif


goto :start

:end


이렇게되면 어떨까요??
#check 의 값이 아까와는 다르게 2씩 상승을 하게 됩니다.?
2>4>6 이 되는데 6의 값이 되었을때 상황을 한번 보도록 하죠?
#check 가 6이면 최초 #check == 5는 넘어가게 됩니다.?
하지만 그 다음에 따라오는 elseif #check == 6 에서 걸리게되죠?
그러면서 #check = #check - 3 으로 기존의 값에서 3을 빼서 #check 의값이 3이 된 후?
다시 처음으로 돌아가서 내려오면서 5가 되면서 스크립트는 종료가 되게되죠.?

여기에서 살을 한번더 붙여 보겠습니다.?

else 입니다. 이놈은 if 구문에서 조건을 지정해놓은 것이 단하나도 맞지 않게 된다면 실행하게 되는 명령어 입니다.?


var #check 0

:start


#check = #check + 2


if #check == 5

toast #check

goto :end

elseif #check == 6

#check = #check - 3

else

goto :start

endif


:end


그냥 if 구문 밖에 있던 goto :start 스크립트가 if 구문으로 들어간것 밖에는 없습니다.
사실 지금 스크립트에서는 밖에 쓰나 안에 쓰나 사실상 다른것은 없지만?
스크립트 작성할 때의 상황에 맞춰서 사용해주시면 되겠습니다.?

if 구문에 접근을 할때에는 중고등학교 수학에서 배우는 알고리즘을 조금 알고 계시다면 편하게 접근이 가능하실껍니다.
사실 컴퓨터라는놈이 똑똑해는 보여도 어마무시하게 무식한놈이라 "맞다,틀리다" 이 두가지만을 가지고 판단을 하게 됩니다.?

단언컨데 히로메크로의 꽃은 if 구문입니다.

다음 강좌에는 if 구문과 관련된 스크립트 몇조각을 가지고 분석해 나가는 시간을 가져 보도록하겠습니다.


List of Articles
제목 글쓴이 최근변경 추천
00시간 00분 동안 대기 하기 7 하늘보글이 2023.01.16 0/0
초보용 반복 강좌 160 존레넌 2024.03.28 5/0
초보의 초보를위한 매크로를 만들때 하나의 프로세스. 92 묵응 2024.08.09 15/0
한글로 만들어보는 매크로. 35 묵응 2019.11.22 5/0
생초보도 만들수 있는 매크로 (Feat.한글로 풀어보는 ... 73 묵응 2021.05.02 8/0
본격 매크로 스크립트 만들어보기(1) 66 샤먼 2023.07.27 4/0
if 구문 예제 31 샤먼 2022.01.12 5/0
기본 구문 설명 : if 36 샤먼 2019.08.20 5/0
기본 문구 설명 var, getcolor 55 샤먼 2019.01.15 6/0
기본 구문 설명 touchpress, touchdown, touchup, touc... 49 샤먼 2019.11.22 6/0
히로매크로에서 하드웨어키로 스크린샷을 찍어보자! 43 닷찌 2020.04.01 3/0
히로매크로 쉽게 알기 - 4 (별이되어라 스스스작 좌표... 126 태환은린 2021.07.19 12/0
히로매크로 쉽게 알기 - 3 (스크립트 복사와 수정법) 96 태환은린 2019.11.22 8/0
히로매크로 제작 강좌-4 (부제: 장비 판매) 40 샤먼 2018.05.24 2/0
히로매크로 쉽게 알기 - 2 (별이되어라 모든사냥터사냥... 160 태환은린 2019.11.22 9/0
히로매크로 쉽게 알기 - 1 308 태환은린 2023.07.21 33/0
히로매크로 제작 강좌-3 (부제: 장비 판매) 46 샤먼 2021.04.29 3/0
심심해서 발로 써보는 히로매크로 강좌_3 75 가풍기 2020.10.09 12/0
히로매크로 제작 강좌-2 (부제: 장비 판매) 59 샤먼 2022.02.18 2/0
히로메크로 제작 강좌-1 (부제: 장비 판매) 121 샤먼 2021.02.13 8/0
Board Pagination Prev 1 2 Next
/ 2

전체 최신 인기글

전체 주간 인기글