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
Interaktywna zabawa
Źródło: nn, licencja: CC BY 3.0.

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
Skrypt przesuwający duszka o 20 kroków po kliknięciu zielonej flagi
R1It0LrmXKFhe1
Film: Przykład stworzenia skryptu w środowisku Scratch

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
Skrypt przesuwający duszka o 20 kroków po wciśnięciu spacji
R1OUpb8bnhW921
Film: Przykład modyfikacji skryptu w środowisku Scratch

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.

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
m710ea428968ae2c8_d538e127
m710ea428968ae2c8_d538e137
m710ea428968ae2c8_d538e172
m710ea428968ae2c8_d538e206
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.

Ć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ę).

m710ea428968ae2c8_d538e249
m710ea428968ae2c8_d538e281
m710ea428968ae2c8_d538e290
m710ea428968ae2c8_d538e299
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.

Ć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
m710ea428968ae2c8_d538e348
m710ea428968ae2c8_d538e357
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.