로블록스 게임 개발

[로블록스 스크립팅 초급] : 반복문(LOOP) 심화

CYANREDSKY 2025. 9. 18. 08:19

1. 루프문의 다양한 종류

로블록스(Lua)에는 여러 가지 루프문이 있으며, 상황에 따라 알맞게 선택할 수 있습니다.

  • for 숫자 반복문 (numeric for)
    정해진 횟수만큼 반복할 때 사용합니다.
  • for in 반복문 (generic for)
    테이블(목록이나 딕셔너리)의 값을 하나씩 꺼내면서 반복할 때 사용합니다.
  • while 반복문
    조건이 참일 동안 계속 반복합니다.
  • repeat until 반복문
    조건이 거짓일 동안 반복하다가, 조건이 참이 되면 멈춥니다.

2. 숫자 반복문 (for i = 시작, 끝, 증가)

for i = 1, 10, 2 do
    print(i)
end
  • 1부터 10까지, 2씩 증가하면서 반복합니다.
  • 출력 결과: 1, 3, 5, 7, 9

활용 예시: 일정 간격으로 몬스터 생성, 좌표 이동 등

3. 테이블 반복문 (for in)

local fruits = {"사과", "바나나", "딸기"}

for index, value in ipairs(fruits) do
    print(index, value)
end

 

  • ipairs는 순서대로(1,2,3...) 값을 꺼내옵니다.
  • 출력 결과:
1 사과
2 바나나
3 딸기

 

또는 키–값 테이블에서:

local player = {name = "민수", level = 5, health = 100}

for key, value in pairs(player) do
    print(key, value)
end

출력 결과:

name   민수
level  5
health 100

4. while vs repeat until

local count = 1
while count <= 3 do
    print("while 반복:", count)
    count = count + 1
end

조건을 먼저 확인하고 실행합니다.

local count = 1
repeat
    print("repeat 반복:", count)
    count = count + 1
until count > 3

조건을 나중에 확인하기 때문에, 최소 한 번은 반드시 실행됩니다.

5. 루프 제어 키워드

루프 안에서 흐름을 조절하는 키워드가 있습니다.

  • break : 루프를 강제로 종료
for i = 1, 10 do
    if i == 5 then
        break
    end
    print(i)
end
-- 결과: 1, 2, 3, 4

continue (Lua에는 직접 없지만 비슷한 효과 가능)

for i = 1, 5 do
    if i == 3 then
        -- 3일 때는 아래 코드 건너뛰기
    else
        print(i)
    end
end
-- 결과: 1, 2, 4, 5

6. 정리

  • 루프문에는 숫자 반복문, 테이블 반복문, while, repeat until 네 가지 주요 형태가 있습니다.
  • break를 활용하면 원하는 시점에 루프를 멈출 수 있습니다.
  • 테이블 반복문을 사용하면 목록이나 데이터 구조를 쉽게 처리할 수 있습니다.
  • 루프문의 특징을 이해하면 **게임의 다양한 상황(캐릭터 생성, 아이템 체크, 조건부 실행 등)**을 훨씬 더 정교하게 제어할 수 있습니다.