Menu
CoddyTech

2D 배열 기초

Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 12번째.

2차원 배열은 표나 게임 맵의 타일처럼 값을 행과 열에 저장합니다. GDScript에서 2차원 배열은 요소가 배열인 배열입니다. 각 내부 배열은 하나의 행입니다.

var level := [
	[1, 1, 1, 1],
	[1, 0, 2, 1],
	[1, 1, 1, 1]
]

이 맵에서 0은 바닥, 1은 벽, 2는 동전입니다. 한 줄에 한 행씩 작성하면 격자를 읽기 쉽고, GDScript에서는 전체 리터럴을 한 줄로 작성해도 됩니다.

print()는 2차원 배열을 한 줄에 표시하며, 각 행은 자체 대괄호 안에 표시됩니다.

print(level)
[[1, 1, 1, 1], [1, 0, 2, 1], [1, 1, 1, 1]]

바깥쪽 배열의 size()는 행의 개수를 셉니다. level[0]은 일반 배열인 첫 번째 행이므로, level[0].size()는 열의 개수를 셉니다:

print(level.size()) # 3개 행
print(level[0].size()) # 4개 열

바깥쪽 배열을 순회하는 for 루프는 반복할 때마다 한 행을 제공합니다:

for row in level:
	print(row)
[1, 1, 1, 1]
[1, 0, 2, 1]
[1, 1, 1, 1]

셀은 어떤 타입이든 될 수 있습니다. [["X", "O"], ["O", "X"]]는 문자열로 이루어진 그리드입니다. 빈 배열에서 시작해 전체 행을 append()할 수도 있습니다.

var board := []
board.append(["X", "O", "X"])
board.append(["O", "X", "O"])
print(board.size()) # 2
challenge icon

챌린지

쉬움

작은 던전의 지도를 만드세요. 다음 4개의 행을 이 순서대로 포함하는 level이라는 2차원 배열을 만드세요:

1 1 1 1 1
1 0 2 0 1
1 0 1 3 1
1 1 1 1 1

각 행은 숫자 5개로 이루어진 배열입니다. 그런 다음, 주어진 루프가 행을 출력하기 전에 size()를 사용해 행의 개수와 열의 개수를 출력하세요. 출력은 다음과 같아야 합니다:

Rows: 4
Columns: 5
[1, 1, 1, 1, 1]
[1, 0, 2, 0, 1]
[1, 0, 1, 3, 1]
[1, 1, 1, 1, 1]

직접 해보기

extends Node

func _ready():
	# []를 던전 맵으로 바꾸세요
	var level := []

	# 여기에 행과 열의 개수를 출력하세요

	for row in level:
		print(row)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 GDScript 컴파일러