Grundlagen zu 2D-Arrays
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 12 von 78.
Ein 2D-Array speichert Werte in Zeilen und Spalten, wie in einer Tabelle oder in den Kacheln einer Spielkarte. In GDScript ist ein 2D-Array ein Array, dessen Elemente Arrays sind: Jedes innere Array ist eine Zeile.
var level := [
[1, 1, 1, 1],
[1, 0, 2, 1],
[1, 1, 1, 1]
]In dieser Karte steht 0 für den Boden, 1 für eine Wand und 2 für eine Münze. Wenn du pro Zeile eine Zeile schreibst, bleibt das Raster übersichtlich; GDScript akzeptiert das gesamte Literal auch in einer einzigen Zeile.
print() zeigt ein 2D-Array in einer Zeile an, wobei jede Zeile in eigenen eckigen Klammern steht:
print(level)[[1, 1, 1, 1], [1, 0, 2, 1], [1, 1, 1, 1]]size() beim äußeren Array zählt die Zeilen. level[0] ist die erste Zeile, ein gewöhnliches Array, daher zählt level[0].size() die Spalten:
print(level.size()) # 3 Zeilen
print(level[0].size()) # 4 SpaltenEine for-Schleife über das äußere Array liefert dir pro Durchlauf eine Zeile:
for row in level:
print(row)[1, 1, 1, 1]
[1, 0, 2, 1]
[1, 1, 1, 1]Die Zellen können einen beliebigen Typ haben: [["X", "O"], ["O", "X"]] ist ein Raster aus Zeichenketten. Du kannst auch mit einem leeren Array beginnen und ganze Zeilen mit append() hinzufügen:
var board := []
board.append(["X", "O", "X"])
board.append(["O", "X", "O"])
print(board.size()) # 2Aufgabe
EinfachErstelle die Karte eines kleinen Verlieses. Erstelle ein 2D-Array namens level mit diesen 4 Zeilen in dieser Reihenfolge:
1 1 1 1 1
1 0 2 0 1
1 0 1 3 1
1 1 1 1 1Jede Zeile ist ein Array aus 5 Zahlen. Gib dann die Anzahl der Zeilen und die Anzahl der Spalten mit size() aus, bevor die vorgegebene Schleife die Zeilen ausgibt. Die Ausgabe muss lauten:
Rows: 4
Columns: 5
[1, 1, 1, 1, 1]
[1, 0, 2, 0, 1]
[1, 0, 1, 3, 1]
[1, 1, 1, 1, 1]Probier es selbst
extends Node
func _ready():
# Ersetze [] durch die Dungeon-Karte
var level := []
# Gib hier die Anzahl der Zeilen und Spalten aus
for row in level:
print(row)
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler