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ütunDış 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()) # 2Görev
KolayKüçü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 1Her 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)
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
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi