2.4. Pierwszy projekt w środowisku Scratch – uczymy duszka chodzić i rysować

Czym będziemy się zajmować?

Prawdopodobnie lubisz grać w gry komputerowe. Jeśli nie, to może twoje rodzeństwo lub przyjaciele lubią grać. Znasz więc zapewne jakąś grę, w której steruje się bohaterem.

Polecenie 2.4.1.

Podaj przykład gry, w której steruje się bohaterem. Zastanów się i opisz w kilku zdaniach, co trzeba zrobić, aby wygrać?
Na przykład w popularnej grze Angry Birds Rio gracz steruje ptakami w taki sposób, aby te potrąciły klatki, w których zamknięte są inne ptaki. Żeby wygrać, trzeba rozbić klatkę, a wtedy ptaki zostaną uwolnione. Jeśli ptak uderzy w ziemię – nie uratuje uwięzionych przyjaciół. Przejście na kolejny poziom gry jest możliwe po uwolnieniu wszystkich ptaków, przy czym gracz ma ograniczoną liczbę prób na każdym poziomie.

Polecenie 2.4.2.

Zastanów się, skąd komputer wie, co ma się stać, jak ma reagować na spotkanie dwóch postaci w grze lub naciśnięcie danego klawisza na klawiaturze?
Możesz stwierdzić, że komputer zna przepis postępowania. Ma zapisane w zrozumiały dla siebie sposób, co ma się stać w określonym przypadku - na przykład, gdy gracz wciśnie klawisz na klawiaturze, wskaże coś kursorem myszki lub bohater gry dojdzie do mety. Przepis musi przewidywać wszystkie możliwe zdarzenia, które mogą wystąpić. Ten przepis wymyśla człowiek, a następnie musi go zapisać w języku zrozumiałym dla komputera, czyli zakodować w postaci programu.
Programowanie komputera oznacza więc porozumiewanie się z nim w języku, który mogą zrozumieć zarówno komputer, jak i człowiek. Uczenie się języków i porozumiewanie jest jedną z podstawowych czynności, które wykonujesz od najmłodszych lat. Najpierw nauczyłeś się mówić, potem pisać, uczysz się też języka obcego, prawdopodobnie angielskiego. Najwyższy czas nauczyć się także języka komputerowego, czyli języka programowania.
W dalszej części nauczysz się sterować komputerem - czyli tworzyć gry i programy działające według twojego pomysłu - scenariusza. Nauczysz się, jak tworzyć przepis, a następnie, jak ten przepis zamienić na działający program zrozumiały dla komputera.

Polecenie 2.4.3.

Zanim rozpoczniesz tworzyć własne programy, pomóż kotkowi dojść do myszki. Postaraj się to zrobić, klikając, jak najmniej razy, w przyciski.
Ucząc się podstaw programowania, skorzystasz ze środowiska Scratch. Jeśli jeszcze go nie znasz, kliknij tutaj.

Pierwsze kroki duszka

Zadanie 2.4.1.

Zbuduj skrypt dla duszka - kotka, który po kliknięciu w zieloną flagę przesunie go o 20 kroków.

Instrukcja: Możesz skorzystać z poniższych podpowiedzi, które opisują, jak zbudować skrypt, który przesunie duszka o 20 kroków po kliknięciu zielonej flagi.

Krok 1
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy kliknięto zieloną flagę do obszaru skryptów.
Krok 2
Wybierz kategorię Ruch i przeciągnij klocek przesuń o … kroków do obszaru skryptów oraz połącz go z klockiem zielonej flagi.
Krok 3
Zmień liczbę kroków – kliknij w pole edycyjne z liczbą 10 i wpisz z klawiatury nową wartość.
Krok 4
Wybierz kategorię Kontrola, przeciągnij klocek zatrzymaj … i połącz go z poprzednim klockiem. Z listy rozwijalnej wybierz ten skrypt.
Krok 5
Sprawdź działanie skryptu. Kliknij kilka razy w zieloną flagę. Kotek za każdym razem powinien przesunąć się o 20 kroków do przodu. Jeśli kotek dojdzie do krawędzi sceny, możesz go chwycić myszką (np. za ogon) i przesunąć w dowolne miejsce sceny.
Zapewne zwrócisz uwagę, że skrypt działałby tak samo, gdybyś nie przyłączył klocka zatrzymaj. Warto jednak od razu uczyć się dobrych nawyków i kończyć skrypty, tak aby ani od góry, ani od dołu nie dało się podczepić żadnego klocka.
Duszkiem możesz też sterować za pomocą klawiatury.

Zadanie 2.4.2.

Popraw swój pierwszy skrypt tak, aby kotek przesuwał się o 20 kroków po naciśnięciu klawisza spacji.

Instrukcja: Możesz skorzystać z poniższych podpowiedzi, które krok po kroku opisują, jak poprawić skrypt, aby reagował na naciśnięcie klawisza spacji zamiast na kliknięcie zielonej flagi.

Krok 1
Chwyć myszką klocek przesuń dotychczasowego skryptu i odczep go od klocka zielonej flagi.
Krok 2
Przeciągnij klocek zielonej flagi poza obszar skryptów. W ten sposób go usuniesz.
Krok 3
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśnięty do obszaru skryptów. Połącz go z pozostałymi klockami.
Krok 4
Sprawdź działanie skryptu. Naciśnij kilka razy klawisz spacji. Po każdym wciśnięciu klawisza duszek powinien się przesunąć.
Duszek może zostawiać ślad (rysować), poruszając się po scenie. Znajdź klocki służące do przyłożenia oraz podniesienia pisaka.

Wskazówka

Zanim skorzystasz ze wskazówki lub tym bardziej – z odpowiedzi do następnych poleceń, staraj się wykonać je samodzielnie. Dzięki temu szybciej i lepiej opanujesz programowanie! W dodatku może się okazać, że poszczególne polecenia i zadania wykonasz dobrze, ale inaczej niż opisaliśmy w podręczniku – większość z nich ma więcej niż jedno prawidłowe rozwiązanie!

Zadanie 2.4.3.

Zbuduj dwa dodatkowe skrypty. Naciśnięcie klawisza O na klawiaturze niech spowoduje opuszczenie i przyłożenie pisaka (od tego momentu kotek, przesuwając się po scenie, będzie zostawiał ślad), a naciśnięcie klawisza P podniesienie pisaka (od tego momentu kotek, przesuwając się po scenie, nie będzie już zostawiał śladu).

Wskazówka

Nowe skrypty dodaj w taki sam sposób jak poprzednio. Nie ma znaczenia, czy znajdą się one obok, czy pod spodem wcześniej zbudowanego skryptu, ponieważ będą działać niezależnie. Stanie się tak dzięki temu, że mają swój początek i koniec, a uruchomione zostaną po wciśnięciu odpowiedniego klawisza. Odpowiednie klocki dotyczące zachowania pisaka znajdziesz w kategorii Pisak.
Skrypt opuszczający pisak w celu przyłożenia go do sceny po naciśnięciu klawisza O możesz zbudować, postępując według podanych czynności.
  • Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśnięty do obszaru skryptów.
  • Z listy rozwijalnej tego klocka wybierz literę O.
  • Wybierz kategorię Pisak i przeciągnij klocek przyłóż pisak do obszaru skryptów oraz połącz go z poprzednim klockiem.
  • Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj … i połącz z poprzednim klockiem. Z listy rozwijalnej wybierz ten skrypt.
W ten sam sposób zbuduj drugi skrypt, który podniesie pisak, kiedy zostanie naciśnięty klawisz P.

Uwaga

Aby zaobserwować działanie wprowadzonych zmian, należy najpierw zatrzymać program czerwonym przyciskiem stop, a następnie ponownie go uruchomić.

Uwaga

Duszek może przykrywać zostawiany przez niego ślad. Jeślitak się zdarzy, konieczne będzie kilkukrotne wciśnięcie klawisza spacji kilka razy, aby zobaczyć ślad zostawiany przez duszka.

Obroty duszka

Kotek na razie przesuwa się w jedną stronę (w prawo, o ile nie został zmieniony jego domyślny kierunek), po dojściu do krawędzi sceny musisz go przeciągnąć myszką w inne miejsce, aby ponownie mógł chodzić. Warto zbudować kolejne skrypty, które będą powodowały obroty duszka.

Zadanie 2.4.4.

Zbuduj dwa kolejne skrypty. Naciśnięcie klawisza strzałka w prawo niech spowoduje obrót duszka w prawą stronę, a naciśnięcie klawisza strzałka w lewo obrót w lewą stronę.

Wskazówka

Poszukaj w kategorii Ruch klocków powodujących obrót.
  1. 1.
    Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego klocka wybierz strzałka w prawo.
  2. 2.
    Wybierz kategorię Ruch i przeciągnij klocek obróć w prawo o … stopni do obszaru skryptów oraz połącz go z poprzednim klockiem. Pozostaw domyślną wartość obrotu o 15 stopni.
  3. 3.
    Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj … oraz połącz go z poprzednim klockiem. Z listy rozwijalnej wybierz ten skrypt.
W ten sam sposób zbuduj drugi skrypt obracający duszka w lewą stronę.
Wypróbuj działanie nowych skryptów w połączeniu z już istniejącymi.

Zadanie 2.4.5.

Ustaw tak duszka, aby patrzył w prawą stronę. Ile razy musisz nacisnąć klawisz strzałki w prawo, aby duszek patrzył dokładnie w dół sceny? O ile stopni się obróci? Ile razy ponownie musisz wciskać klawisz strzałki w prawo, aby duszek „stając na głowie”, patrzył w lewo? Ile łącznie razy musisz obrócić duszka, aby wrócił do początkowej pozycji?
Zapewne po twoich próbach scena jest już pokryta śladami pozostawionymi przez duszka. Warto ją wyczyścić, a także ustawić duszka w pozycji wyjściowej, w jakiej się znajduje po uruchomieniu środowiska Scratch.

Zadanie 2.4.6.

Dodaj do programu skrypt, który po naciśnięciu klawisza C ustawi duszka na środku sceny skierowanego w prawą stronę i wyczyści scenę.

Wskazówka

Potrzebnych do budowy skryptu klocków poszukaj w kategoriach: Zdarzenia, Ruch, Pisak oraz Kontrola. Zwróć uwagę na możliwość rozwinięcia listy opcji przy niektórych klockach. Czasem dopiero po rozwinięciu listy przekonasz się, że dany klocek pasuje idealnie do tego, co chcesz osiągnąć (np. skierowania duszka w określoną stronę).
  1. 1.
    Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego klocka wybierz literę C.
  2. 2.
    Wybierz kategorię Ruch i przeciągnij klocek idź do x: … y: … do obszaru skryptów oraz połącz go z poprzednim klockiem.
  3. 3.
    Jeśli w klocku są inne wartości współrzędnych, ustaw je na zero.
  4. 4.
    Przeciągnij klocek ustaw kierunek na … do obszaru skryptów oraz podłącz go do skryptu.
  5. 5.
    Wybierz kategorię Pisak i przeciągnij klocek wyczyść do obszaru skryptów oraz podłącz go do skryptu.
  6. 6.
    Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj … oraz podłącz go do skryptu. Z jego listy rozwijalnej wybierz ten skrypt.
Wypróbuj działanie skryptu. Spowoduj, aby duszek zostawił ślad na ekranie, a następnie sprawdź, czy po wciśnięciu klawisza z literą C ślad zniknie, a duszek wróci na środek sceny.

Zapisujemy program

Masz już kilka skryptów, które sterują kotkiem na scenie. Warto dodać jeszcze jeden skrypt, który spowoduje, że kotek odezwie się do ciebie.

Uwaga

Możesz nie usłyszeć dźwięku miauczenia w następnym zadaniu, jeśli do twojego komputera nie są podłączone głośniki lub słuchawki. Sprawdź też, czy dźwięk nie jest wyciszony.

Zadanie 2.4.7.

Dodaj do programu skrypt, który po kliknięciu duszka myszką spowoduje, że kotek zamiauczy oraz poprosi o zapisanie programu (wyświetli odpowiedni napis w dymku).

Wskazówka

Poszukaj klocka powodującego miauczenie w kategorii Dźwięk, zaś wyświetlającego napis w postaci komiksowego dymku, tak jakby duszek mówił, w kategorii Wygląd.
  1. 1.
    Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy duszek kliknięty do obszaru skryptów.
  2. 2.
    Wybierz kategorię Dźwięk i przeciągnij klocek zagraj dźwięk … do obszaru skryptów oraz połącz go z poprzednim klockiem.
  3. 3.
    Wybierz kategorię Wygląd i przeciągnij klocek powiedz … do obszaru skryptów oraz podłącz go do skryptu. Wpisz w pole edycyjne właściwy napis.
  4. 4.
    Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj … oraz podłącz go do skryptu. Z listy rozwijalnej wybierz ten skrypt.
Wypróbuj działanie skryptu. Kliknij duszka znajdującego się na scenie i sprawdź, czy wyświetli odpowiedni napis oraz czy usłyszysz odgłos miauknięcia.

Zadanie 2.4.8.

Zapisz swój pierwszy program. Składa się on łącznie z siedmiu krótkich skryptów.
Program możesz zapisać na swoim dysku lub w chmurze na portalu Scratcha (w tym przypadku musisz mieć założone konto). Aby zapisać program na swoim komputerze, wybierz opcję Plik/Zapisz lub Plik/Pobierz na swój komputer (w zależności od tego, czy uruchomisz Scratcha lokalnie, czy w przeglądarce internetowej). Następnie podaj nazwę, np. Pierwszy program i kliknij przycisk Zapisz.

Zadania uzupełniające

Zadanie 2.4.9.

Wykorzystując zdefiniowane skrypty, spróbuj narysować kwadrat o długości boku 100. Możesz zmodyfikować liczbę kroków w skrypcie kiedy klawisz spacja naciśnięty oraz liczbę stopni w skryptach kiedy klawisz strzałka w prawo naciśnięty lub kiedy klawisz strzałka w lewo naciśnięty. Wypisz sekwencję naciskanych klawiszy.

Zadanie 2.4.10.

Zaprojektuj program składający się z 6 skryptów. Po kliknięciu w zieloną flagę duszek ma się ustawić na środku sceny, skierowany w prawą stronę, z opuszczonym pisakiem oraz scena powinna być wyczyszczona. Po kliknięciu w klawisz spacji niech duszek przesuwa się o 100 kroków. Pozostałe 4 skrypty mają oprogramować klawisze czterech strzałek i ustawić duszka odpowiednio patrzącego w prawo, do dołu, w lewo i do góry. Spróbuj także za pomocą tych skryptów narysować kwadrat, a następnie wypisz sekwencję naciskanych w tym celu klawiszy.