Menu
CoddyTech

2B Dizilere Giriş

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 12 / 78.

2B dizi, bir tablo veya oyun haritasının kareleri gibi değerleri satır ve sütunlarda saklar. GDScript'te 2B dizi, öğeleri dizi olan bir dizidir: her iç dizi bir satırdır.

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

Bu haritada 0 zemini, 1 duvarı ve 2 madeni parayı temsil eder. Her satırı ayrı bir satıra yazmak ızgaranın okunabilir kalmasını sağlar; GDScript ayrıca tüm sabiti tek satırda da kabul eder.

print() 2B diziyi tek satırda, her satır kendi köşeli parantezlerinin içinde olacak şekilde gösterir:

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

Dış dizideki size() satırları sayar. level[0] ilk satırdır ve sıradan bir dizidir; bu nedenle level[0].size() sütunları sayar:

print(level.size()) # 3 satır
print(level[0].size()) # 4 sütun

Dış dizideki bir for döngüsü, her geçişte size bir satır verir:

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

Hücreler herhangi bir türde olabilir: [["X", "O"], ["O", "X"]] bir dizge ızgarasıdır. Ayrıca boş bir diziden başlayıp tüm satırları append() ile ekleyebilirsiniz:

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

Görev

Kolay

Küçük bir zindanın haritasını oluştur. level adlı 2 boyutlu bir dizi oluştur ve aşağıdaki 4 satırı bu sırayla ekle:

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

Her satır, 5 sayıdan oluşan bir dizidir. Ardından, verilen döngü satırları yazdırmadan önce size() kullanarak satır sayısını ve sütun sayısını yazdır. Çıktı şöyle olmalıdır:

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

Kendin dene

extends Node

func _ready():
	# [] yerine zindan haritasını koyun
	var level := []

	# Satır ve sütun sayılarını burada yazdırın

	for row in level:
		print(row)
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi