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 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
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 3
Zanim rozpoczniesz tworzyć własne programy, pomóż kotkowi dojść do myszki. Postaraj się to zrobić, klikając, jak najmniej razy, w przyciski.
RsPjurn0iAeJz1
Ucząc się podstaw programowania, skorzystasz ze środowiska Scratch. Jeśli jeszcze go nie znasz, kliknij tutaj.
m710ea428968ae2c8_d5e161
Pierwsze kroki duszka
Ćwiczenie 1
Zbuduj skrypt dla duszka - kotka, który po kliknięciu w zieloną flagę przesunie go o 20 kroków.
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.
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
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy kliknięto zieloną flagęm710ea428968ae2c8_d538e118kiedy kliknięto zieloną flagę do obszaru skryptów.
Krok
Wybierz kategorię Ruch i przeciągnij klocek przesuń o … krokówm710ea428968ae2c8_d538e127przesuń o … kroków do obszaru skryptów oraz połącz go z klockiem zielonej flagi.
Krok
Zmień liczbę kroków – kliknij w pole edycyjne z liczbą 10 i wpisz z klawiatury nową wartość.
Krok
Wybierz kategorię Kontrola, przeciągnij klocek zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … i połącz go z poprzednim klockiem. Z listy rozwijalnej wybierz ten skrypt.
Krok
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.
RhvYTo1csgYyL1
R1It0LrmXKFhe1
Zapewne zwrócisz uwagę, że skrypt działałby tak samo, gdybyś nie przyłączył klocka zatrzymajm710ea428968ae2c8_d538e137zatrzymaj. 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.
Ćwiczenie 2
Popraw swój pierwszy skrypt tak, aby kotek przesuwał się o 20 kroków po naciśnięciu klawisza spacji.
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.
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
Chwyć myszką klocek przesuńm710ea428968ae2c8_d538e127przesuń dotychczasowego skryptu i odczep go od klocka zielonej flagi.
Krok
Przeciągnij klocek zielonej flagi poza obszar skryptów. W ten sposób go usuniesz.
Krok
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Połącz go z pozostałymi klockami.
Krok
Sprawdź działanie skryptu. Naciśnij kilka razy klawisz spacji. Po każdym wciśnięciu klawisza duszek powinien się przesunąć.
RLm0uUEMNSetv1
R1OUpb8bnhW921
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!
Ćwiczenie 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ętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów.
Z listy rozwijalnej tego klocka wybierz literę O.
Wybierz kategorię Pisak i przeciągnij klocek przyłóż pisakm710ea428968ae2c8_d538e206przyłóż pisak do obszaru skryptów oraz połącz go z poprzednim klockiem.
Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … 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.
R11JbudB6Va271
R13hRJuxsyP2J1
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.
m710ea428968ae2c8_d538e118
R14EX9DEB4ht21
Skrypty rozpoczynające się od tego bloczka są uruchamiane po kliknięciu na ekranie ikony zielonej flagi – uruchomienie programu. Przykład:
R1a5neCgrcQMu1
m710ea428968ae2c8_d538e127
Ros13pnSvdOJk1
Przesuwa duszka o podaną odległość zgodnie z aktualnym kierunkiem oraz aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość). Jeśli chcemy przesunąć duszka do tyłu, należy podać wartość ujemną. Przykład:
RVxpSBGU7XAh61
m710ea428968ae2c8_d538e137
R11JnJYnWVYue1
Powoduje zatrzymanie wykonywania skryptu lub skryptów. Z listy rozwijalnej można wybrać: wszystko, ten skrypt, inne skrypty duszka. Polecenie zatrzymaj wszystko zatrzymuje wszystkie uruchomione skrypty. Zatrzymaj ten skrypt zatrzymuje działanie skryptu, w którym został użyty, zaś zatrzymaj inne skrypty duszka zatrzymuje pozostałe skrypty danego duszka z wyjątkiem tego, w którym został użyty – dlatego można z nim połączyć od dołu kolejne klocki. Zatrzymaj wszystko jest równoważne z kliknięciem w ikonę stop na ekranie. Powoduje też zgaszenie wyświetlonych dymków komiksowych poleceniami powiedz i pomyśl. Zatrzymaj ten skrypt i zatrzymaj inne skrypty duszka pozostawia dymki bez zmian.
R1AtdXUIZApyS1
m710ea428968ae2c8_d538e172
RWxBuBrKGfryY1
Skrypt rozpoczynający się od klocka jest uruchamiany po naciśnięciu wybranego z listy rozwijalnej klawisza na klawiaturze. Przykład:
Rki8D3gb3E7In1
m710ea428968ae2c8_d538e206
RdiJOOhbvVaew1
Powoduje przyłożenie (opuszczenie) pisaka duszka. Wykonywane ruchy będą powodowały rysowanie zgodnie z ustawieniami pisaka (kolor, grubość). Przykład:
RlY8OQNSeI67R1
m710ea428968ae2c8_d5e465
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.
Ćwiczenie 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.
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego klocka wybierz strzałka w prawo.
Wybierz kategorię Ruch i przeciągnij klocek obróć w prawo o … stopnim710ea428968ae2c8_d538e249obróć w prawo o … stopni do obszaru skryptów oraz połącz go z poprzednim klockiem. Pozostaw domyślną wartość obrotu o 15 stopni.
Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … 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.
RlJlnzszZiMmd1
Ćwiczenie 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.
Ćwiczenie 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ę).
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego klocka wybierz literę C.
Wybierz kategorię Ruch i przeciągnij klocek idź do x: … y: …m710ea428968ae2c8_d538e281idź do x: … y: … do obszaru skryptów oraz połącz go z poprzednim klockiem.
Jeśli w klocku są inne wartości współrzędnych, ustaw je na zero.
Przeciągnij klocek ustaw kierunek na …m710ea428968ae2c8_d538e290ustaw kierunek na … do obszaru skryptów oraz podłącz go do skryptu.
Wybierz kategorię Pisak i przeciągnij klocek wyczyśćm710ea428968ae2c8_d538e299wyczyść do obszaru skryptów oraz podłącz go do skryptu.
Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … 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.
Reskyv67H1Sys1
m710ea428968ae2c8_d538e249
R1Ho9W0pQb1gP1
Obraca duszka w prawo (zgodnie z ruchem wskazówek zegara) o podaną liczbę stopni. Przykład:
RfakoHgpCHFKJ1
m710ea428968ae2c8_d538e281
RHb7lXhqTdRXL1
Przesuwa duszka do punktu o podanych współrzędnych (x,y) zgodnie z aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość). Przykład:
RLq1xLoNEHJ2M1
m710ea428968ae2c8_d538e290
R3wuia3pHhhMF1
Ustawia duszka zgodnie z podanym kierunkiem. Można z listy rozwijalnej wybrać jeden z czterech kierunków (90 stopni – prawo, -90 stopni – lewo, 0 stopni – góra, 180 stopni – dół) lub wpisać ręcznie określony kąt wyrażony w stopniach. Przykład:
RQKldEBShg7WE1
m710ea428968ae2c8_d538e299
RFVOW9pSTalf31
Powoduje wyczyszczenie wszystkich narysowanych rysunków przez wszystkie duszki. Nie ma wpływu na tło sceny.
m710ea428968ae2c8_d5e664
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.
Ćwiczenie 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.
Wybierz kategorię Zdarzenia i przeciągnij klocek kiedy duszek klikniętym710ea428968ae2c8_d538e338kiedy duszek kliknięty do obszaru skryptów.
Wybierz kategorię Dźwięk i przeciągnij klocek zagraj dźwięk …m710ea428968ae2c8_d538e348zagraj dźwięk … do obszaru skryptów oraz połącz go z poprzednim klockiem.
Wybierz kategorię Wygląd i przeciągnij klocek powiedz …m710ea428968ae2c8_d538e357powiedz … do obszaru skryptów oraz podłącz go do skryptu. Wpisz w pole edycyjne właściwy napis.
Wybierz kategorię Kontrola i przeciągnij klocek zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … 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.
RgwufM8eJhFPW1
Ćwiczenie 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.
m710ea428968ae2c8_d538e338
RPlTiccaRFDIT1
Skrypt rozpoczynający się od tego klocka jest uruchamiany po kliknięciu duszka lewym przyciskiem myszy. Przykład:
RUFNJMma171DT1
m710ea428968ae2c8_d538e348
R1IF6HXPrwIs91
Powoduje odtworzenie pliku dźwiękowego wybranego z listy rozwijalnej. Kolejne instrukcje skryptu wykonywane są niezależnie od odtwarzanego dźwięku. W zakładce Dźwięki można dodawać nowe dźwięki z biblioteki lub z pliku oraz nagrać własne. Przykład:
RNNekqS2ebUme1
m710ea428968ae2c8_d538e357
RxWC7soCqOifl1
Wyświetla w dymku tekst podany w polu edycyjnym, nie wstrzymuje działania skryptu, wykonywane są w związku z tym kolejne instrukcje. Dymek jest kasowany po uruchomieniu programu zieloną flagą, naciśnięciu przycisku stop, wykonaniu klocka zatrzymaj wszystko lub wykonaniu klocka powiedz z pustym tekstem. Przykład:
R125lTsq8hRkK1
m710ea428968ae2c8_d5e813
Zadania uzupełniające
Ćwiczenie 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.
Ćwiczenie 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.