기초 강좌

[GML] 03: 특정 코드를 반복해봐!

by 짭뿌C posted Dec 08, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

 오늘은 반복문을 배워봐요!!

repeat, while, do, for 라는 반복문이 존재하는데, 오늘 이 4가지를 배워볼께요!

아, 그리고 do 반복문 빼고는 친구가 존재하지 않는 것 같아요 ㅠ0ㅠ

반복문은 무한 루프가 되어 게임을 멈추게 할 수도 있습니다.....

 

용어 뜻

 repeat: 반복하다

 while: ~인 동안

 do: 어떠한 행위를 하다

 for: ~을 위한

------------------------------------------------------------->

 repeat 반복문 -  repeat (반복 횟수){반복할 코드}

이 반복문 코드를 해석해볼까요!

 

repeat (5){instance_create(random(400),random(400),ball)}

 

'instance_create에 x를 숫자 0~400 중 하나를 정하고, y도 숫자 0~400 중 하나를 정하고 ball 오브젝트를 5번 생성합니다'

------------------------------------------------------------->

 while 반복문 - while (조건){반복 코드}

if문과 같습니다, 하지만 그것이 안맞을 경우까지 계속 반복문 입니다.

이 반복문 코드도 쉽게 해석해볼 수 있습니다!

 

 while (a<5) {a+=1}

 

'a가 5이하가 아닐 경우까지 a를 더합니다'

------------------------------------------------------------>

 do 반복문 - do{반복 코드} until(조건)

이 do 반복문은 while과 비슷하고, until 이라는 제일 친한 친구가 있습니다.

자바를 해보신 분이라면 do-while 이라는 것을 들어보셨을겁니다. 그것과의 원리와 같습니다.

until(조건)에 맞지 않더라도, 딱 한번은 do{반복코드}를 실행합니다.

만약 until(조건)에 맞다면 계속 do{반복 코드}를 실행합니다.

 

 do{a+=1} until (a<5) 이렇게 응용해서 씁니다.

----------------------------------------------------------->

for 반복문 - for(변수 선언;조건;변수 값 조절)

거의 이렇게 for 반복문을 사용합니다.

이 반복문은 이해가 안되시는 분들도 많으실 듯 하니,

좀더 자세하게 쓰겠습니다.

 

For문이 가지는 양식은

for (<statement1> ; <expression> ;<statement2>) <statement3>

이 것은 다음과 같습니다. 처음에 <statement1>이 실행됩니다.그리고 <expression>는 조건문입니다. 그리고 만약 true이면 <statement3>이 실행됩니다. 그리고 <statement2>, 다음 <expression> 조건문이 처리됩니다. 이는 <expression>이 false가 될 때까지 계속실행됩니다.

이는 복잡한 설명일 수도 있겠군요. 여러분은 이것을 다음과 같이 해석해도 됩니다. 첫번째 <statement1>에서 루프를 초기화하게 됩니다. <expression>에서는 루프의 종료시점을 설정해야 합니다. <statement2>에서는 다음 루프조건으로 가는 단계 구문입니다. (만약 루프조건에 해당하지 않는다면, for문은 루프를 종료하게 됩니다).

대부분 어느정도의 범위를 통해 카운터 실행하여 사용합니다.

 

이것은 예제입니다.

 

for(i=0;i<10;i+=1){a+=i}

 

'딱 한번만 i를 0으로 선언하고 i가 10이하일 동안만 i를 1씩 더하고, a를 i만큼 더합니다'

 

그리고 게임메이커 스튜디오 버전에서는

 

for(i=0;i<10;i++){a+=i}

 

이렇게 써도 됩니다. i++은 처음 보셨죠?

i+=1 줄여서 쓰는 것 입니다. i--도 있구요,

i++과 i--는 1씩 커지거나 작아질 때 쓰는 것입니다!

-------------------------------------------------------->

다음 강좌는 스크립트를 짜보겠습니다!