Podstawy tablic 2D
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 12 z 78.
Tablica 2D przechowuje wartości w wierszach i kolumnach, podobnie jak tabela lub kafelki na mapie gry. W GDScript tablica 2D to tablica, której elementami są tablice: każda tablica wewnętrzna to jeden wiersz.
var level := [
[1, 1, 1, 1],
[1, 0, 2, 1],
[1, 1, 1, 1]
]Na tej mapie 0 oznacza podłogę, 1 — ścianę, a 2 — monetę. Zapisanie każdego wiersza w osobnej linii ułatwia odczytanie siatki, a GDScript akceptuje też cały literał zapisany w jednej linii.
print() wyświetla tablicę 2D w jednym wierszu, umieszczając każdy wiersz w osobnych nawiasach kwadratowych:
print(level)[[1, 1, 1, 1], [1, 0, 2, 1], [1, 1, 1, 1]]size() w zewnętrznej tablicy zlicza wiersze. level[0] to pierwszy wiersz, zwykła tablica, więc level[0].size() zlicza kolumny:
print(level.size()) # 3 wiersze
print(level[0].size()) # 4 kolumnyPętla for przechodząca przez tablicę zewnętrzną daje jeden wiersz w każdej iteracji:
for row in level:
print(row)[1, 1, 1, 1]
[1, 0, 2, 1]
[1, 1, 1, 1]Komórki mogą być dowolnego typu: [["X", "O"], ["O", "X"]] to siatka ciągów znaków. Możesz też zacząć od pustej tablicy i dodawać całe wiersze za pomocą append():
var board := []
board.append(["X", "O", "X"])
board.append(["O", "X", "O"])
print(board.size()) # 2Wyzwanie
ŁatwyZbuduj mapę małego lochu. Utwórz tablicę 2D o nazwie level z tymi 4 wierszami, w tej kolejności:
1 1 1 1 1
1 0 2 0 1
1 0 1 3 1
1 1 1 1 1Każdy wiersz jest tablicą 5 liczb. Następnie wypisz liczbę wierszy i liczbę kolumn, używając size(), przed podaną pętlą wypisującą wiersze. Wynik musi być następujący:
Rows: 4
Columns: 5
[1, 1, 1, 1, 1]
[1, 0, 2, 0, 1]
[1, 0, 1, 3, 1]
[1, 1, 1, 1, 1]Spróbuj swoich sił
extends Node
func _ready():
# Zastąp [] mapą lochu
var level := []
# Wypisz tutaj liczbę wierszy i kolumn
for row in level:
print(row)
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online