Pętle i warunki
Gdy już opanujemy podstawowe sekwencje poleceń, możemy zacząć tworzyć bardziej złożone programy przy użyciu pętli i warunków:
Powtórz N× – podstawowa pętla z podaną liczbą powtórzeń
powtórz 4×: krok do przodu, skręć w prawo
Zdarzenia – polecenia reagujące na to, gdy coś wydarzy się w środowisku
po naciśnięciu klawisza: narysuj kropkę
Warunki i rozgałęzienia – program wykona polecenie tylko wtedy, gdy spełniony jest warunek
jeśli stoisz na piasku: obróć się w prawo
Powtarzaj dopóki – pętla wykonywana jest dopóty, dopóki spełniony jest warunek
dopóki przed tobą jest wolne pole: krok do przodu
Pętle i warunki można ze sobą łączyć. Nie potrzebujemy do tego żadnych specjalnych poleceń, ale nauczenie się tworzenia takich programów nie jest aż takie proste. Dlatego przygotowaliśmy specjalnie ćwiczenia:
- Wielokrotne decydowanie – pętla połączona z warunkiem
- Pętle zagnieżdżone – pętla w środku innej pętli.
Zdarzenia
Podczas programowania możemy chcieć, aby pewne akcje były wykonywane w momencie zajścia określonego zdarzenia. W Platformówce może być potrzebne, aby postać podskoczyła po kliknięciu lub obróciła się po zderzeniu z kaktusem. Nagłówek bloku określa zdarzenie, na które czekamy (kliknięcie myszy, naciśnięcie klawisza, wysłanie wiadomości). Ciało bloku zawiera polecenia, które mają zostać wykonane po wystąpieniu danego zdarzenia.
Programy ze zdarzeniami
Akcja jest wykonywana za każdym razem, gdy dane zdarzenie nastąpi. Jeśli zdarzenie powtarza się wielokrotnie, akcja zostanie wykonana tyle razy, ile zdarzeń wystąpi. Natomiast jeśli zdarzenie nigdy nie nastąpi, akcja nie wykona się ani razu. Jeden program może zawierać wiele zdarzeń. W takim przypadku może się zdarzyć, że kilka zdarzeń wystąpi jednocześnie – wówczas w jednej chwili zostanie wykonanych kilka akcji. (Zdarzenia mają więc związek z równoległością.) Tworzenie programów opartych na zdarzeniach nazywa się programowaniem sterowanym zdarzeniami.
Zdarzenia vs. warunki
Zdarzenia mogą przypominać instrukcje warunkowe – w obu przypadkach pewne polecenia są wykonywane tylko wtedy, gdy zachodzi jakiś warunek. Jednak warunek w instrukcji warunkowej jest sprawdzany tylko w momencie, gdy napotkamy go podczas wykonywania programu, natomiast na zdarzenie czeka się przez cały czas trwania programu. Zdarzenia są wywoływane przez konkretne sygnały (np. kliknięcie), podczas gdy warunki mogą być ogólnymi wyrażeniami zawierającymi np. porównania i operatory logiczne. Zdarzenia i warunki można łączyć – ciało zdarzenia może zawierać instrukcję warunkową.
Zastosowanie zdarzeń
Zdarzenia umożliwiają tworzenie interaktywnych programów reagujących na działania użytkownika. Jest to powszechnie stosowane w grach (naciśnięcie spacji powoduje, że postać podskakuje), w aplikacjach z graficznym interfejsem użytkownika (edytor tekstu reaguje na naciśnięty klawisz, wyświetlając odpowiedni znak) oraz w aplikacjach internetowych (po kliknięciu przycisku „Wyślij” wiadomość zostaje wysłana). Można również reagować na zdarzenia zachodzące wewnątrz programu (gdy postać wejdzie w drzwi, zmienia się scena).
Zdarzenia w Scratchu
Programowanie sterowane zdarzeniami jest wykorzystywane także w Scratchu. Oprócz działań użytkownika zdarzeniem może być również otrzymanie wiadomości, którą wysyłamy w innej części programu.