Dwa moduły po piętnaście lekcji, w każdej pięć albo sześć kroków. Każdy krok kończy się czymś, co widać i słychać na ekranie, a nie obietnicą, że będzie fajnie na końcu. Wszystkie bloki są narysowane dokładnie tak, jak wyglądają w Scratchu, więc wystarczy je znaleźć i ułożyć.
Po lewej ta strona, po prawej Scratch. Bloki na stronie wyglądają tak samo jak w edytorze, więc szuka się ich po kolorze: niebieskie w Ruchu, żółte w Zdarzeniach, pomarańczowe w Kontroli i Zmiennych.
Na końcu każdego kroku jest zielona ramka „Sprawdź, czy działa”. Zaznacz ją dopiero wtedy, gdy rzeczywiście działa. Strona zapamiętuje postęp w tej przeglądarce, więc po powrocie widać, gdzie się skończyło.
Lepiej zrobić jedną lekcję i pobawić się nią do końca, niż trzy po łebkach. Każda następna korzysta z tego, co było wcześniej, więc solidne podstawy naprawdę się opłacają.
Na dole każdej lekcji jest tabela najczęstszych awarii z gotową naprawą. Zanim zaczniesz zgadywać, zajrzyj tam. W dziewięciu przypadkach na dziesięć błąd już tam jest opisany.
| Lekcje | Pojęcia z programowania | Jak nazywa się to w „dorosłych” językach |
|---|---|---|
| 1–3 | pętla, warunek, zmienna, zdarzenia, komunikaty | loop, if / else, variable, event, message passing |
| 4–7 | stany gry, współrzędne, animacja, geometria | state machine, coordinate space, turtle graphics |
| 8–11 | kolizje, działania na liczbach, klony i ich cykl życia | collision detection, arithmetic, instancje obiektów |
| 12–15 | fizyka, listy, własne bloki, publikacja | game loop, array, funkcje, release |
| 16–18 | funkcje z parametrami, rekurencja, dane osobno od kodu | arguments, recursion, separacja danych |
| 19–22 | interfejs, maszyna stanów, kamera, wektory | UI state, finite state machine, viewport, vectors |
| 23–26 | tury, serializacja, efekty, generowanie proceduralne | turn loop, save format, juice, procedural generation |
| 27–30 | wydajność, debugowanie, przejście na tekst | profiling, debugging, Python |