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ć.
R1FtgXllLmjg7
Jedną z gier, gdzie gracz steruje bohaterem, jest Angry Birds. Celem jest zdobycie jak największej liczby punktów przez pokonanie wszystkich przeciwników, czyli zielonych świń, za pomocą ptaków. Gracz ma za zadanie wystrzelić ptaki z procy i precyzyjnie niszczyć różne struktury zbudowane przez świnie, takie jak drewniane bloki, kamienie czy stalowe elementy. Każdy poziom gry ma inny układ struktur, co wymaga od gracza planowania i umiejętności trafienia w odpowiednie miejsca, aby spowodować jak największe zniszczenie. Gra oferuje różne rodzaje ptaków, z różnymi umiejętnościami, takimi jak eksplodowanie, rozpryskiwanie się na kilka mniejszych ptaków czy latanie w pionie. Celem jest pokonać wszystkie poziomy, zdobywając jak najwięcej punktów i odblokowując kolejne poziomy gry.
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. Swoje wnioski zapisz poniżej.
R7O73c9kGkrAI
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. 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. Pierwszym krokiem było nabycie umiejętności mówienia, potem pisania, obecnie trwa nauka 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.
Żeby móc zrozumieć i wykonać ćwiczenia poniżej, należy posiadać podstawową wiedzę o środowisku Scratch. Jeśli jeszcze go nie znasz, zapoznaj się z materiałem Wprowadzenie do środowiska ScratchDUVRjOY3CWprowadzenie do środowiska Scratch.
Polecenie 3
Poniżej znajduje się interaktywna gra, która polega na tym, by doprowadzić kota do myszy tylko po zielonych polach. Wejście na czerwone pole będzie skutkowało ponownym uruchomieniem gry. Postaraj się dojść do myszy wykonując jak najmniej ruchów.
R1JqSqBo6ucni
Poniżej znajduje się miejsce, w którym możesz zapisywać notatki i pomysły związane z rozwiązywaniem konkretnych ćwiczeń. Możesz tu uwzględnić swoje przemyślenia dotyczące trudności w zadaniach, sugestie co do usprawnienia rozwiązań, a także pomysły na kolejne kroki czy eksperymenty związane z danymi ćwiczeniami.
R1YcvRDVS2QYZ
Pierwsze kroki duszka
1
Ćwiczenie 1
Zbuduj skrypt dla duszka - kotka, który po kliknięciu w zieloną flagę przesunie go o 20 kroków.
Wybierz kategorię Zdarzenia i przeciągnij blok kiedy kliknięto zieloną flagęm710ea428968ae2c8_d538e118kiedy kliknięto zieloną flagę do obszaru skryptów.
Wybierz kategorię Ruch i przeciągnij blok przesuń o … krokówm710ea428968ae2c8_d538e127przesuń o … kroków do obszaru skryptów oraz połącz go z blokiem zielonej flagi.
Zmień liczbę kroków – kliknij w pole edycyjne z liczbą i wpisz z klawiatury nową wartość.
Wybierz kategorię Kontrola, przeciągnij blok zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … i połącz go z poprzednim blokiem. Z listy rozwijalnej wybierz ten skrypt.
R4IFjpRCajOjr
RWyiJaWFXEzOc
Sprawdź działanie skryptu. Kliknij kilka razy w zieloną flagę. Kotek za każdym razem powinien przesunąć się o 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.
R1CHvMDWsJW2n
Ćwiczenie 1
Zapewne zwrócisz uwagę, że skrypt działałby tak samo, gdybyś nie przyłączył bloku zatrzymaj ...m710ea428968ae2c8_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 bloku.
Duszkiem możesz też sterować za pomocą klawiatury.
1
Ćwiczenie 2
Popraw swój pierwszy skrypt tak, aby kotek przesuwał się o kroków po naciśnięciu klawisza spacji.
Chwyć myszką blok przesuńm710ea428968ae2c8_d538e127przesuń dotychczasowego skryptu i odczep go od bloku zielonej flagi.
Przeciągnij blok zielonej flagi poza obszar skryptów. W ten sposób go usuniesz.
Wybierz kategorię Zdarzenia i przeciągnij blok kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Połącz go z pozostałymi blokami.
R1VdBRyMrTvHh
R1HcEt7arVDx5
Rx31JV2G1rY6w
Ćwiczenie 2
Duszek może rysować, poruszając się po scenie. Znajdź bloki służące do przyłożenia oraz podniesienia pisaka.
Zanim skorzystasz z podpowiedzi lub tym bardziej – z odpowiedzi do następnych ćwiczeń, 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 materiale – większość z nich ma więcej niż jedno prawidłowe rozwiązanie!
kategoria_pioro
Pióro jest rozszerzeniem, które nie znajduje się domyślnie w standardowych kategoriach programu Scratch. Trzeba je dodać spośród rozszerzeń. Aby to zrobić, wybierz opcję Dodaj rozszerzenie, które znajduje się w lewym dolnym rogu programu Scratch.
RDVzOkP3TvImj
Z dostępnych rozszerzeń należy następnie wybrać Pióro.
1
Ćwiczenie 3
Zbuduj dwa dodatkowe skrypty. Naciśnięcie klawisza O na klawiaturze niech spowoduje opuszczenie 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).
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 bloki dotyczące zachowania pisaka znajdziesz w kategorii Piórokategoria_pioroPióro.
Skrypt opuszczający pisak w celu przyłożenia go do sceny po naciśnięciu przycisku O możesz zbudować, postępując według podanych czynności:
wybierz kategorię Zdarzenia i przeciągnij blok kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów,
z listy rozwijalnej tego bloku wybierz literę O,
wybierz kategorię Pisak i przeciągnij blok przyłóż pisakm710ea428968ae2c8_d538e206przyłóż pisak do obszaru skryptów oraz połącz go z poprzednim blokiem,
wybierz kategorię Kontrola i przeciągnij blok zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … i połącz z poprzednim blokiem. 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.
RSPSIrL6q5gt1
RdLN1AeDaT1Co
R1EhLraAKleCc
Ćwiczenie 3
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. W takiej sytuacji, aby zobaczyć ślad zostawiony przez duszka, należy kilkukrotnie wcisnąć klawisz spacji.
m710ea428968ae2c8_d538e118
RmfPmkFSpmY1O
Skrypty rozpoczynające się od tego bloczka są uruchamiane po kliknięciu na ekranie ikony zielonej flagi – uruchomienie programu.
Przykład:
Rbl4UCBpNqDcK
m710ea428968ae2c8_d538e127
RiV6623cDPuCz
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:
RoDZb4YyseNYg
m710ea428968ae2c8_d538e137
RoQgOwMyrLgWE
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 bloki.
Zatrzymaj wszystko jest równoważne z kliknięciem w ikonę stop na ekranie. Powoduje też zgaszenie wyświetlonych dymków komiksowych poleceń powiedz i pomyśl. Zatrzymaj ten skrypt i zatrzymaj inne skrypty duszka pozostawia dymki bez zmian.
RmL4XDk2t8QP7
m710ea428968ae2c8_d538e172
R1IJqdvyAQd3O
Skrypt rozpoczynający się od bloku jest uruchamiany po naciśnięciu wybranego z listy rozwijalnej klawisza na klawiaturze.
Przykład:
R1CTHncsNFXSE
m710ea428968ae2c8_d538e206
R4vsrKpLTcHS7
Powoduje przyłożenie (opuszczenie) pisaka duszka. Wykonywane ruchy będą powodowały rysowanie zgodnie z ustawieniami pisaka (kolor, grubość).
Przykład:
RlckZhTLRJvEV
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ą umożliwiały obroty duszka.
1
Ć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ę.
Poszukaj w kategorii Ruch bloków powodujących obrót.
Wybierz kategorię Zdarzenia i przeciągnij blok kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego bloku wybierz strzałka w prawo.
Wybierz kategorię Ruch i przeciągnij blok obróć w prawo o … stopnim710ea428968ae2c8_d538e249obróć w prawo o … stopni do obszaru skryptów oraz połącz go z poprzednim blokiem. Zostaw domyślną wartość obrotu.
Wybierz kategorię Kontrola i przeciągnij blok zatrzymaj …m710ea428968ae2c8_d538e137zatrzymaj … oraz połącz go z poprzednim blokiem. 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.
R1WOWiHKvsInw
R1SccbE8YOAJl
Ćwiczenie 4
2
Ć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 „stanął na głowie”? Ile łącznie razy musisz obrócić duszka, aby wrócił do początkowej pozycji?
Przypomnij sobie, ile wynosi miara kąta prostego, kąta półpełnego oraz kąta pełnego. Dzięki temu obliczysz, ile razy musisz nacisnąć klawisz odpowiedzialny za obrót duszka, aby obrócić go o wybrany kąt.
Duszek będzie patrzył w dół sceny, jeżeli naciśniesz przycisk odpowiedzialny za obrót w prawo sześć razy. Obróci się on wtedy o dziewięćdziesiąt stopni (kąt prosty).
Należy nacisnąć ten przycisk kolejne sześć razy, aby duszek „stanął na głowie”.
Aby duszek powrócił do początkowej pozycji, trzeba nacisnąć klawisz odpowiedzialny za obrót duszka aż dwanaście razy, co jest równoznaczne z obrotem o sto osiemdziesiąt stopni (o kąt półpełny).
Obrót duszka o 360 stopni wymaga 24 naciśnięć klawisza strzałki.
Ra3JnpgI4jcws
Ćwiczenie 5
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.
1
Ć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ę.
Potrzebnych do budowy skryptu bloków poszukaj w kategoriach: Zdarzenia, Ruch, Pisak oraz Kontrola. Zwróć uwagę na możliwość rozwinięcia listy opcji przy niektórych blokach. Czasem dopiero po rozwinięciu listy przekonasz się, że dany blok pasuje idealnie do tego, co chcesz osiągnąć (np. skierowania duszka w określoną stronę).
Wybierz kategorię Zdarzenia i przeciągnij blok kiedy klawisz … naciśniętym710ea428968ae2c8_d538e172kiedy klawisz … naciśnięty do obszaru skryptów. Z listy rozwijalnej tego bloku wybierz literę C.
Wybierz kategorię Ruch i przeciągnij blok idź do x: … y: …m710ea428968ae2c8_d538e281idź do x: … y: … do obszaru skryptów oraz połącz go z poprzednim blokiem.
Jeśli w bloku są inne wartości współrzędnych, ustaw je na zero.
Przeciągnij blok ustaw kierunek na …m710ea428968ae2c8_d538e290ustaw kierunek na … do obszaru skryptów, podłącz go do skryptu i ustaw wartość na .
Wybierz kategorię Pisak i przeciągnij blok wyczyść wszystkom710ea428968ae2c8_d538e299wyczyść wszystko do obszaru skryptów oraz podłącz go do skryptu.
Wybierz kategorię Kontrola i przeciągnij blok 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.
R8yDpfpJYWlSd
R1OmcBkfh9g8e
Ćwiczenie 6
m710ea428968ae2c8_d538e249
RmQCBKgywutK0
Obraca duszka w prawo (zgodnie z ruchem wskazówek zegara) o podaną liczbę stopni.
Przykład:
R1ZC4cmCSPJQI
m710ea428968ae2c8_d538e281
R48iKpb5VSSt2
Przesuwa duszka do punktu o podanych współrzędnych (x,y) zgodnie z aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość).
Przykład:
RSGnWTyBSMUhs
m710ea428968ae2c8_d538e290
R1BsDmfSa3v8x
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:
RzTCqEVoeEW1g
m710ea428968ae2c8_d538e299
R15ZzxcPzM0nd
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. Jeżeli korzystasz z laptopa, sprawdź, czy dźwięk nie jest wyciszony.
2
Ć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).
Poszukaj bloku 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 blok kiedy ten duszek klikniętym710ea428968ae2c8_d538e338kiedy ten duszek kliknięty do obszaru skryptów.
Wybierz kategorię Dźwięk i przeciągnij blok zagraj dźwięk …m710ea428968ae2c8_d538e348zagraj dźwięk … do obszaru skryptów oraz połącz go z poprzednim blokiem.
Wybierz kategorię Wygląd i przeciągnij blok 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 blok 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.
R1Kdew9e4B8Ee
RveZGGkfz5NKm
Ćwiczenie 7
1
Ćwiczenie 8
Zapisz swój pierwszy program. Składa się on łącznie z siedmiu krótkich skryptów.
Sposób zapisu programu może się różnić w zależności od tego, czy jesteś zalogowany na koncie Scratch, czy też nie.
Jeżeli korzystasz z przeglądarkowej wersji Scratcha możesz zapisać swój program korzystając ze swojego konta Scratch. Masz wtedy do wyboru trzy opcje: zapisz teraz, zapisz jako kopię, zapisz na swoim komputerze. Pierwsza opcja zapisze aktualny projekt na twoim koncie. Druga opcja zapisze aktualny projekt jako kopię (również na twoim koncie). Trzecia opcja pozwoli na pobranie i zapisanie aktualnego projektu na twoim komputerze.
R8G5UrGMtOhVL
Jeżeli chcesz zapisać swój program nie korzystając z konta Scratch, masz do wyboru tylko jedną opcję, która pozwoli na pobranie i zapisanie aktualnego projektu na twoim komputerze. Jeżeli korzystasz z aplikacji zainstalowanej na komputerze, również możesz wybrać tylko opcję pobrania projektu na twój komputer.
RYOnANQUnqTbI
RIiwsp9rXKsvm
Ćwiczenie 8
m710ea428968ae2c8_d538e338
R1MLAJttb9jSI
Skrypt rozpoczynający się od tego bloku jest uruchamiany po kliknięciu duszka lewym przyciskiem myszy.
Przykład:
R82OtcoaTG24i
m710ea428968ae2c8_d538e348
RMJlxVoGL9XEq
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:
R15qvNTwOMSxF
m710ea428968ae2c8_d538e357
RukPWTiWlrtpe
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 bloku zatrzymaj wszystko/ten skrypt lub wykonaniu bloku powiedz z pustym tekstem.
Przykład:
R2x3DapHAB5Hm
m710ea428968ae2c8_d5e813
Zadania uzupełniające
2
Ćwiczenie 9
Wykorzystując zdefiniowane skrypty, narysuj kwadrat o długości boku . Zmodyfikuj 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.
RV74o7N9ie6gc
Poniżej znajduje się zrzut ekranu ze zmodyfikowanymi skryptami.
R1HhRXEJCleM2
Poniżej znajduje się algorytm na narysowanie kwadratu o boku 100, korzystając z wyżej podanych skryptów.
Naciśnij spację (duszek poruszy się w prawo o 100 kroków).
Naciśnij strzałkę w prawo (duszek obróci się w prawo o 90 stopni).
Naciśnij spację.
Naciśnij strzałkę w prawo.
Naciśnij spację.
Naciśnij strzałkę w prawo.
Naciśnij spację.
R1WIwLwsr5Mbx
Ćwiczenie 9
Napisz algorytm, który pozwoli na narysowanie kwadratu zgodnie ze zdefiniowanymi skryptami. Skrypt powinien zawierać sekwencję klawiszy.
Poniżej znajduje się algorytm na narysowanie kwadratu o boku 100, korzystając z wyżej podanych skryptów.
Naciśnij spację (duszek poruszy się w prawo o 100 kroków).
Naciśnij strzałkę w prawo (duszek obróci się w prawo o 90 stopni).