Menu
CoddyTech

Dasar-Dasar Array 2D

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 12 dari 78.

Array 2D menyimpan nilai dalam baris dan kolom, seperti tabel atau ubin pada peta game. Dalam GDScript, array 2D adalah array yang elemennya berupa array: setiap array di dalamnya adalah satu baris.

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

Pada peta ini, 0 adalah lantai, 1 adalah dinding, dan 2 adalah koin. Menulis satu baris per baris membuat grid mudah dibaca, dan GDScript juga menerima seluruh literal dalam satu baris.

print() menampilkan array 2D dalam satu baris, dengan setiap baris di dalam tanda kurung siku tersendiri:

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

size() pada array terluar menghitung jumlah baris. level[0] adalah baris pertama, berupa array biasa, jadi level[0].size() menghitung jumlah kolom:

print(level.size()) # 3 baris
print(level[0].size()) # 4 kolom

Perulangan for pada array terluar memberimu satu baris pada setiap iterasi:

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

Sel-selnya bisa bertipe apa saja: [["X", "O"], ["O", "X"]] adalah grid yang berisi string. Kamu juga bisa memulai dari array kosong lalu append() baris secara utuh:

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

Tantangan

Mudah

Buat peta dungeon kecil. Buat array 2D bernama level dengan 4 baris berikut, dalam urutan ini:

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

Setiap baris adalah array berisi 5 angka. Lalu cetak jumlah baris dan jumlah kolom menggunakan size(), sebelum perulangan yang diberikan mencetak baris-baris tersebut. Output harus berupa:

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

Coba sendiri

extends Node

func _ready():
	# Ganti [] dengan peta ruang bawah tanah
	var level := []

	# Cetak jumlah baris dan kolom di sini

	for row in level:
		print(row)
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online