2.6. Duszek przechodzi przez jezdnię

Małe i duże kroki duszka

Zadanie 2.6.1.

Chwyć kotka i przesuwaj go po scenie. Obserwuj, jak zmieniają się liczby określające położenie kotka na scenie. Współrzędna x określa jego położenie poziome, a współrzędna y w pionie.
Scena, po której porusza się duszek, ma stałe wymiary: szerokość wynosi 480 punktów a wysokość 360 punktów. Środek sceny ma współrzędną x równą 0 oraz współrzędną y również równą 0. Współrzędne x maleją w lewą stronę, a rosną w prawą, natomiast współrzędne y rosną do góry, a maleją do dołu.
Wykonanie polecenia przesuń o … kroków z wartością 1 krok to ruch odpowiadający jednej jednostce (punktu) na scenie. To bardzo mały ruch duszka, prawie niezauważalny. Często wykonujemy jednorazowo większe ruchy, np. w pierwszym podrozdziale duszek po naciśnięciu klawisza spacji przesuwał się o 20 kroków, w projekcie Spacer duszka nad jeziorem jeden ruch chłopca odpowiadał 3 krokom. Czasami taki pojedynczy ruch złożony z określonej liczby jednostkowych kroków też będziemy nazywali krokiem.

Scenariusz projektu, przygotowanie tła sceny i postaci duszka

Duszek - kotek (lub jeśli wolisz, możesz wybrać inną postać z galerii lub zaprojektować własną) ma przejść przez jezdnię na przejściu dla pieszych z sygnalizatorem świetlnym. Po kliknięciu w zieloną flagę zapala się czerwone światło, które świeci przez określony czas (np. 3 sekundy). Kotek mówi (w dymku komiksowym), że poczeka aż zapali się zielone światło. Po zapaleniu się zielonego światła (po 3 sekundach) przechodzi przez jezdnię. Przykładowe działanie projektu możesz obejrzeć na filmie.

Zadanie 2.6.2.

W edytorze graficznym Scratcha lub dowolnym innym przygotuj tło sceny. Poniższy rysunek pomoże ci określić wymiary poszczególnych elementów. Ile wynosi szerokość pojedynczego pasa na jezdni oraz odstęp pomiędzy sąsiednimi pasami?
Oglądając film możesz zauważyć, że oprócz kotka przechodzącego przez jezdnię na scenie jest jeszcze sygnalizator, który zmienia światło z czerwonego na zielone. Można przygotować dwa tła sceny, jedno z czerwonym światłem, drugie z zielonym. Sygnalizator może też być duszkiem z dwoma kostiumami. To drugie rozwiązanie jest wygodniejsze, można łatwo ustawić sygnalizator w dowolnym miejscu na scenie poziomo lub pionowo.

Zadanie 2.6.3.

W edytorze graficznym przygotuj rysunek duszka - sygnalizatora świetlnego, np. taki, jak na poniższym rysunku. Wymiary dobierz sam. Światła pozostaw zgaszone, po utworzeniu dwóch kostiumów duszka uzupełnisz je odpowiednio kolorem zielonym lub czerwonym.

Wskazówka

Jeśli rysunki zostały przygotowane w zewnętrznym edytorze graficznym, wgraj tło sceny z pliku (następnie usuń puste tło) oraz wgraj nowego duszka z pliku (sygnalizator świetlny). Przesuń sygnalizator na właściwe (według twojego uznania) miejsce na scenie. Możesz go ustawić pionowo lub poziomo, odpowiednio obracając.

Zadanie 2.6.4.

Utwórz nowy kostium dla sygnalizatora poprzez skopiowanie pierwszego. Uzupełnij kolory, zapal czerwone światło dla pierwszego kostiumu i zielone dla drugiego.

Wskazówka

Żeby skopiować kostium, wybierz zakładkę Kostiumy, następnie kliknij prawym przyciskiem myszy w kostium i z menu kontekstowego wybierz opcję duplikuj.
W projekcie występują dwa duszki, każdy z nich ma dwa kostiumy. Warto nadać im własne imiona (nazwy). Tworząc skrypty, często odwołujemy się do duszka lub kostiumu za pośrednictwem jego nazwy.

Zadanie 2.6.5.

Zmień nazwę nowo utworzonego duszka na Sygnalizator, oraz nazwy jego kostiumów odpowiednio na Czerwone światło i Zielone światło.

Instrukcja: Jak zmienić nazwę duszka i kostiumu?

Krok 1
Kliknij w literę i dla danego duszka w obszarze zarządzania duszkami.
Krok 2
Wpisz nazwę dla duszka w polu edycyjnym, następnie kliknij w ikonę powrotu.
Krok 3
Wybierz zakładkę Kostiumy i w polu edycyjnym zmień nazwy obu kostiumów.

Zadanie 2.6.6.

Zmień nazwę duszka na Kotek.

Budujemy skrypty dla duszków

W projekcie mamy dwa duszki. Zgodnie ze scenariuszem, obydwa wykonują określone czynności po kliknięciu w zieloną flagę. Zacznij od przygotowania skryptu zmieniającego światło na przejściu dla pieszych.

Zadanie 2.6.7.

Utwórz skrypt dla duszka – sygnalizatora świetlnego według poniższego przepisu:
Po wciśnięciu zielonej flagi:
  1. 1.
    zmień kostium na czerwone światło,
  2. 2.
    czekaj 3 sekundy,
  3. 3.
    zmień kostium na zielone światło,
  4. 4.
    zatrzymaj działanie skryptu.

Wskazówka

Jedynym klockiem, który nie był wykorzystany we wcześniejszych projektach, jest zmień kostium na … z kategorii Wygląd.
Zastanów się, jaka powinna być pozycja początkowa kotka, aby znalazł się przed przejściem dla pieszych po lewej stronie. Niech to będzie 40 kroków na lewo od krawędzi jezdni. Swój marsz może zakończyć 40 kroków na prawo od krawędzi jezdni. Zakładając, że pojedynczy ruch kotka to 20 kroków, odpowiedz na pytanie, ile ruchów musi wykonać, aby przejść przez jezdnię? Pamiętaj o uwzględnieniu szerokości jezdni.

Zadanie 2.6.8.

Uzupełnij poniższy przepis dla kotka.
Pomoże ci w tym rysunek z wymiarami jezdni.

Zadanie 2.6.9.

Utwórz skrypt dla kotka według przepisu z poprzedniego zadania.

Wskazówka

Ważny klocek, znajduje się w kategorii Kontrola i służy powtórzeniu wybranych instrukcji określoną liczbę razy – powtórz … Zwróć uwagę, że klocki z instrukcjami, które mają być powtórzone, powinny znaleźć się wewnątrz tego klocka.

Ważne

Pamiętaj o zapisaniu projektu i sprawdzeniu działania.

Modyfikujemy scenariusz

Zmodyfikujemy nieznacznie scenariusz projektu Duszek przechodzi przez jezdnię. Po uruchomieniu, czyli kliknięciu w zieloną flagę, kotek ustawi się przed jezdnią i poprosi o pozwolenie na przejście. Kliknięcie duszka myszką będzie oznaczało, że zgadzamy się, by przeszedł. Jednak duszek, zanim przejdzie, powinien sprawdzić, czy nie świeci się czerwone światło. Jeśli tak, to wyświetla napis, że czeka na zielone.
Zmodyfikować musimy także działanie sygnalizatora, tak aby światło zmieniało się co kilka sekund z czerwonego na zielone i odwrotnie. Na filmie możesz obejrzeć przykład działania zmodyfikowanego projektu.

Modyfikujemy skrypty

Zadanie 2.6.10.

Napisz przepis dla duszka-sygnalizatora, tak aby po kliknięciu w zieloną flagę cyklicznie zmieniał światło. Na początku niech będzie zapalone czerwone światło.
Przykładowy przepis.
Po wciśnięciu zielonej flagi:
  1. 1.
    zmień kostium na czerwone światło.
  2. 2.
    zawsze:
    1. 1.
      czekaj 3 sekundy.
    2. 2.
      zmień kostium na następny.

Zadanie 2.6.11.

Popraw skrypt dla duszka-sygnalizatora zgodnie z przepisem z poprzedniego zadania.
Zmodyfikuj działania kotka, tak aby po uruchomieniu programu tylko ustawił się przed jezdnią i poczekał na pozwolenie na przejście. Dopiero po jego otrzymaniu, powinien sprawdzić kolor światła i jeśli trzeba, poczekał na zielone. W tym celu podzielimy dotychczasowy skrypt obsługujący duszka – kotka na dwa:
  1. 1.
    inicjujący, uruchamiany po kliknięciu w zieloną flagę,
  2. 2.
    realizujący główne zadanie kotka – przejście przez jezdnię, uruchamiany po kliknięciu kotka.

Zadanie 2.6.12.

Przygotuj skrypt dla kotka uruchamiany po kliknięciu w zieloną flagę. Ma on wykonać teraz tylko dwie czynności: ustawić duszka na pozycji wyjściowej oraz wyświetlić w dymku komiksowym prośbę o pozwolenie na przejście przez jezdnię.

Wskazówka

Zamiast klocka powiedz … przez ... s użyj klocka powiedz … Nie wiesz, jak długo kotek będzie czekał na kliknięcie.
Jakie czynności powinien wykonać kotek, kiedy otrzyma pozwolenie na przejście przez jezdnię? Powinien przed przejściem sprawdzić, jakie światło jest zapalone. Jeżeli świeci się czerwone światło, czeka, aż zmieni się na zielone. Następnie przechodzi przez jezdnię. W tym celu wykona analogiczne działania do tych w dotychczasowym projekcie.
Przykładowy opis działań, jakie powinien wykonać duszek - kotek, po otrzymaniu pozwolenia na przejście.
Kiedy duszek kliknięty:
  1. 1
    wyłącz dymek z prośbą o pozwolenie na przejście,
  2. 2
    jeżeli pali się czerwone światło (sygnalizator ma wyświetlony kostium z czerwonym światłem):
    1. 1.
      powiedz w dymku komiksowym „Czekam na zielone światło”,
    2. 2.
      czekaj, aż sygnalizator będzie miał wyświetlony kostium z zielonym światłem,
  3. 3
    wyłącz dymek z informacją o oczekiwaniu na zielone światło,
  4. 4
    powtórz 15 razy:
    1. 1.
      przesuń o 20 kroków,
    2. 2.
      zmień kostium na następny,
    3. 3.
      czekaj 0.2 sekundy,
  5. 5
    powiedz „Dziękuję” przez 2s,
  6. 6
    zakończ działanie wszystkich skryptów (także zmiany światła).

Zadanie 2.6.13.

Zbuduj skrypt dla kotka według powyższego przepisu.

Wskazówka

Aby wyłączyć dymek komiksowy, użyj klocka powiedz … z pustym tekstem do wyświetlenia.

Wskazówka

Użyj klocka jeżeli … to z grupy Kontrola do sprawdzenia, czy świeci się czerwone światło. W puste miejsce po słowie jeżeli należy wstawić warunek sprawdzający, który kostium sygnalizatora jest wyświetlany. Potrzebny będzie klocek … równa się … z grupy Wyrażenia. Do sygnalizatora możesz odwołać się korzystając z klocka z grupy Czujnikiodczytującego właściwości innego duszka. Możesz porównać nazwę kostiumu lub numer kostiumu. Właściwość wybierz z listy rozwijalnej. Obejrzyj film prezentujący zbudowanie tej instrukcji.

Wskazówka

Do oczekiwania na zielone światło wykorzystaj klocek czekaj aż ... Warunek zbuduj analogicznie, jak instrukcję jeżeli.

Ważne

Pamiętaj o zapisaniu projektu. Wypróbuj, jak działa po modyfikacjach.