Przegląd projektu
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 42 z 78.
Wyzwanie
ŁatwyMenedżer rekordów studentów przechowuje dane o studentach: ich wiek, oceny i kursy, na które uczęszczają. W kolejnych krokach dodasz studentów i oceny, sprawdzisz zapisy na kursy, obliczysz średnie, wypiszesz studentów uczęszczających na dany kurs i znajdziesz najlepszych studentów.
Program odczytuje polecenia, po jednym w każdym wierszu, takie jak add Alice 20 Math Physics lub grade Alice 90. W tym kroku przygotuj rekordy i pętlę poleceń:
- Na najwyższym poziomie skryptu, między
extends Nodeafunc _ready():, zadeklaruj pusty słownik:var student_records := {}. Zmienna zadeklarowana w tym miejscu, poza każdą funkcją, może być używana przez każdą funkcję skryptu, czego wymagają kolejne kroki. - W
_ready()rozpocznij pętlęwhile true:. W każdej iteracji odczytaj jeden wiersz, podziel go w miejscach spacji i zamień wynik na tablicę:var parts := Array(OS.read_string_from_stdin().split(" ", false)) - Użyj
match parts:z dwoma wzorcami tablic:["show"]: wypiszstudent_records["exit"]: wypiszGoodbye!i opuść pętlę za pomocąbreak
Na razie ignoruj wszystkie inne polecenia. Każdy test kończy się poleceniem exit. Dla poleceń
show
exitwynik to:
{ }
Goodbye!Spróbuj swoich sił
extends Node
# Zadeklaruj student_records tutaj
func _ready():
# Odczytuj polecenia w pętli aż do zakończenia
pass
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