`for` 루프 사용하기
프로그래밍에서 가장 많이 사용되는 반복문 중 하나는 for 루프입니다. for 루프는 특정 형식을 가지고 있습니다:
for (<할당>; <조건>; <작업>;){
<문장>;
<문장>;
...
}
작동 원리
- 할당(Initialization): 첫 번째로, 할당이 실행되어 변수에 값을 할당합니다.
- 조건(Condition): 그 다음, 조건을 평가합니다. 조건이
true라면 중괄호{}안의 문장이 실행됩니다. - 작업(Operation): 할당된 변수에 대해 작업을 수행합니다.
- 반복: 조건을 다시 평가합니다. 조건이
false가 되면 반복이 종료됩니다.
이 과정을 다음과 같이 해석할 수 있습니다:
for루프를 초기화합니다.- 반복 종료 여부를 테스트합니다.
- 문장을 실행합니다.
- 작업을 수행합니다.
- 2단계로 돌아가 조건을 다시 평가하고 반복하거나 루프를 종료합니다.
변수 초기화 및 배열 사용
할당 부분에서 var 문을 사용하여 여러 변수를 초기화할 수 있습니다. 이는 반복 작업을 수행하는 데 매우 유용합니다. 일반적으로 카운터 역할을 하여 배열을 평가하거나, 화면에 그리기, 증가 값을 설정하는 데 사용됩니다.
예제 코드
다음은 for 루프의 일반적인 사용 예시입니다:
for (var i = 0; i < 10; i += 1) {
draw_text(32, 32 + (i * 32), string(i) + ". " + string(scr[i]));
}
위 코드는 0에서 9까지 카운트하여 배열에 저장된 값을 화면에 그립니다. i 변수는 배열을 순회하고 값을 그릴 위치를 지정하는 데 사용됩니다.
for 루프 사용 시기
for 루프는 다음과 같은 경우에 이용하면 좋습니다:
- 고정된 횟수로 명령문을 반복해야 할 때.
- 현재 반복 중인 횟수를 추적하고 그 값을 사용해야 할 때.
변수 i와 j는 루프 카운터 변수의 일반적인 명명 규칙입니다. 반드시 이러한 이름을 사용할 필요는 없으며, 다른 이름을 사용할 수 있습니다.
break 및 continue 사용하기
for 루프 내에서 break와 continue 문을 사용할 수 있습니다.
break 예제
코드는 다음과 같이 작성됩니다:
var _inst = noone;
for (var i = 0; i < 10; i += 1) {
_inst = instance_find(obj_Enemy_Parent, i);
if (instance_exists(_inst)) {
if (_inst.object_index == obj_Enemy_Melee) {
break;
}
}
}
target = _inst;
위 코드는 주어진 "부모" 객체의 10개의 인스턴스를 반복하고, 인스턴스가 발견되면 그 객체 ID를 확인하여 obj_Enemy_Melee의 인스턴스라면 break로 루프를 종료합니다.
continue 예제
continue를 사용하는 예제는 다음과 같습니다:
var _val = 0;
for (var i = 0; i < 10; i += 1) {
if (val_array[i] <= 0) {
continue;
}
_val += val_array[i];
}
draw_text(32, 32, "Positive Values Total = " + string(_val));
이 코드는 1차원 배열의 각 값이 0보다 작거나 같은지 확인하고, 해당 오류가 있으면 루프를 건너뛰어 i를 증가시키고 다음 반복을 시작합니다. 값이 0보다 크면 local 변수 _val에 더해집니다.
더 많은 예제
더 많은 반복문 관련 예제는 repeat, while, do/until 섹션을 참조하세요.
| 주제 | 내용 |
|---|---|
for 루프 |
변수를 초기화하며 반복 처리 |
break |
즉시 루프 종료 |
continue |
현재 반복 건너뛰기 |
© Copyright YoYo Games Ltd. 2024 All Rights Reserved