Tworzenie gry interaktywnej w Scratch - odbijanie piłeczki
Wprowadzenie
W ramach projektu stworzysz grę polegającą na odbijaniu piłeczki. Wykorzystasz w tym celu edukacyjne środowisko programistyczne Scratch. Potrzebne informacje na temat środowiska Scratch znajdziesz w materiale Wprowadzenie do środowiska ScratchP9AYGQXHJWprowadzenie do środowiska Scratch.
m816be4739d971e52_d5e154
Scenariusz gry
Gra będzie polegała na poruszaniu przez dwóch graczy paletkami w taki sposób, by odbić poruszającą się na ekranie piłeczkę na stronę przeciwnika. Wygrywa gracz, który doprowadzi do sytuacji, w której przeciwnikowi nie uda się odbić piłeczki. Zapoznaj się z poniższym filem w celu zrozumienia zasady działania.
RZ3FPNIdujFm8
Film: Działanie gry
Film: Działanie gry
Gra w ping‑ponga wykonana w Scratchu.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Film: Działanie gry
1
Polecenie 1
Zastanów się, jakie obiekty poruszają się na ekranie. Którymi z nich steruje komputer, czyli program? Na ruch których mają bezpośredni wpływ gracze?
R5qSgi5dKZp7a
Źródło: GroMar, licencja: CC BY 3.0.
Na ekranie możesz zaobserwować, że poruszają się dwie paletki oraz piłeczka. Gracze sterują swoimi paletkami, natomiast piłeczką steruje komputer (on decyduje w jakim kierunku porusza się piłeczka, w jaki sposób i kiedy odbije się).
1
Ćwiczenie 1
Podaj, jakie znasz sposoby kontrolowania ruchu w grach? Zastanów się, w jaki sposób gracze mogą sterować swoimi paletkami w projektowanej grze?
R8yAD1gDhcVe5
Źródło: GroMar, licencja: CC BY 3.0.
Przypomnij sobie znane ci gry i na ich podstawie zastanów się, w jaki sposób możesz w nich kontrolować ruch.
W grze można używać różnych metod sterowania obiektem. Istnieje kilka sposobów, zależnych od rodzaju gry. Należy do nich klawiatura, mysz, joystick, kontroler nazywany padem, a także ekran dotykowy, który pozwala na sterowanie za pomocą palców.
1
Ćwiczenie 2
Określ, w jaki sposób zaplanować poruszanie paletkami w przypadku, gdy nie mamy do dyspozycji kontrolerów takich jak joystick lub pad. Jaki sposób poruszania paletkami będzie sprawiedliwy dla obu graczy?
R10urwIsMvCbS
Źródło: GroMar, licencja: CC BY 3.0.
Gracze powinni sterować w podobny sposób paletkami, żeby każdy miał taką samą szansę wygranej.
Zazwyczaj do komputera możemy podpiąć tylko jedną myszkę, więc najprościej będzie do sterowania wykorzystać klawiaturę i każdemu z graczy przyporządkować dwa klawisze - odpowiadające za ruchy np. w górę i w dół.
Czas zaplanować wszystkie działania, jakie musi wykonywać komputer, by można było zagrać zgodnie ze scenariuszem. Możemy je podzielić na trzy główne kategorie: ustawienia początkowe, sterowanie grą oraz akcje - czyli wydarzenia lub sytuacje jakie mogą zajść w grze. Działania te trzeba będzie później zaprogramować - czyli zapisać w języku zrozumiałym dla komputera.
2
Ćwiczenie 3
Opisz tak szczegółowo, jak potrafisz, wszystkie działania z podziałem na wymienione powyżej kategorie, czyli ustawienia początkowe, sterowanie grą oraz akcje.
Następnie sprawdź swoją odpowiedź z przykładowym rozwiązaniem. Uzupełnij swój opis o brakujące elementy.
R1YdYrNgKwNlz
Źródło: GroMar, licencja: CC BY 3.0.
W ustawieniach początkowych należy przewidzieć stan, w jakim rozpocznie się gra. W przypadku projektowanej gry będzie to na przykład umiejscowienie paletek oraz piłki na scenie, jak również kierunek, w którym piłka zacznie się poruszać na początku rozgrywki. W kategorii sterowania musisz opisać, jakie klawisze zostaną przyporządkowane do odpowiedniego ruchu paletek. W kategorii zdarzenia - akcje mające wpływ na przebieg rozgrywki, sytuacje w których do nich dochodzi oraz skutek jaki wywołują - np. piłka dotyka paletki, piłka minęła paletkę.
Przykładowe rozwiązanie może wyglądać w opisany niżej sposób. Sprawdź, czy w swoim rozwiązaniu masz opisane wszystkie elementy gry.
Ustawienia początkowe
Piłka zostaje umieszczona na środku ekranu i zaczyna poruszać się w losowym kierunku.
Pierwsza paletka umieszczona zostanie w pobliżu lewej krawędzi sceny, na środku.
Druga paletka umieszczona zostanie w pobliżu prawej krawędzi sceny, na środku.
Sterowanie
Pierwszy gracz będzie używał następujących klawiszy:
klawisz A - ruch paletki do góry,
klawisz Z - ruch paletki do dołu.
Drugi gracz będzie używał następujących klawiszy:
klawisz K - ruch paletki do góry,
klawisz M - ruch paletki do dołu.
Akcje
Piłka dotyka paletki - piłka odbija się, czyli zmienia kierunek ruchu.
Piłka minęła paletkę - koniec gry - wygrywa gracz obsługujący drugą paletkę.
Piłka dotyka krawędzi sceny, na której toczy się gra - piłka odbija się, czyli zmienia kierunek ruchu.
Dysponujesz już dość szczegółowym scenariuszem gry. Czas zaprojektować elementy graficzne gry – paletki i piłeczkę.
Projektujemy duszki
W scenariuszu opisane zostały poszczególne elementy gry - postacie, pozycje startowe, zachodzące zdarzenia oraz sposób sterowania. Zacznij od zaprojektowania wyglądu duszków, czyli piłeczki oraz paletek. W grze stworzonej w środowisku Scratch, główną rolę pełnią duszki. Mogą one poruszać się po scenie, a także przyjmować różny wygląd.
1
Ćwiczenie 4
Dodaj nowego duszka i zaprojektuj dla niego kostium - paletkę. Pamiętaj, żeby zaprojektować odpowiednią wielkość paletki. Zbyt duża spowoduje, że gra będzie bardzo łatwa, zbyt mała - utrudni znacząco grę. Na koniec upewnij się, że punkt zaczepienia duszka jest umiejscowiony na środku zaprojektowanego kostiumu. Po zakończeniu ustaw duszka na scenie na środku z lewej strony.
Nie zapomnij usunąć domyślnego duszka - kota.
Możesz dodać nowego duszka na jeden z kilku sposobów:
Wczytaj duszka - wczytaj wcześniej przygotowanego duszka.
Niespodzianka - wylosuj losowego duszka.
Maluj - narysuj we wbudowanym edytorze graficznym nowego duszka.
Wybierz duszka - wybierz duszka spośród wbudowanej biblioteki.
RBluKkcKS24RG
Na zdjęciu widać okna aplikacji gry w którym przedstawiono sposób tworzenia duszka. W górnej części ekranu znajduje się pasek narzędzi. W górnej części paska znajduje się pole z etykietą: duszek oraz podpisem: Duszek jeden, symbolem osi iks: z liczbą zero oraz symbolem osi igrek z liczbą zero. Niżej znajduje się etykieta pokaż z przyciskami oka oraz przekreślonego oka. Ikona z okiem jest zaznaczona na niebiesko. Obok znajdują się pola rozmiar oraz kierunek z przypisanymi liczbami sto oraz dziewięćdziesiąt. Niżej w lewym górnym rogu znajduje się zdjęcie bohatera. Na zdjęciu jest lisek. Po prawej stronie zdjęcia jest symbol kosza. Niżej znajduje się podpis Duszek jeden. Po prawej stronie znajduje się menu. Kolejne symbole przycisków od góry: strzałka wychodząca z prostej, duża gwiazdka pomiędzy czterema mniejszymi gwiazdkami, pędzel, lupa, głowa kota. Przycisk pędzelka jest podświetlony. Obok niego znajduje się napis: maluj. Po prawej stronie znajduje się belka z napisem scena oraz tło. Na dole jest przycisk z symbolem zdjęcia.
Ikona pędzelka - jej kliknięcie tworzy nowego duszka i przechodzi w tryb projektowania dla niego kostiumu.
Źródło: GroMar, licencja: CC BY 3.0.
W edytorze kostiumów upewnij się, że punkt zaczepieniam816be4739d971e52_d972e567punkt zaczepienia jest ustawiony na środku kostiumu. W tym celu ustaw narysowanego duszka na środku sceny. Środek jest oznaczony przez czarny okrąg z krzyżykiem w środku. Duszek powinien automatycznie przyciągnąć się do środka sceny, jeżeli przesuniesz go wystarczająco blisko.
Ra5SxFdaVJRwp
Na zdjęciu widać okno aplikacji w którym przedstawiono edytor kostiumów. W górnej części okna znajdują się zakładki: skrypt, kostiumy, dźwięki. Zakładka kostiumy jest otwarta. Po lewej stronie okna aplikacji widoczny jest pionowy pasek. Na pasku znajduje się zdjęcie przedstawiające czerwony pionowy prostokąt. Pod zdjęciem widoczny jest napis: kostium jeden. Dwadzieścia na sześćdziesiąt. W centralnej części okna widoczne jest pole tworzenia kostiumów. W górnej części okna znajduje się pasek narzędzi. Na pasku znajdują się zakładki kostium jeden oraz kostium. Zakładka kostium jest aktywna. Po prawej stronie widoczne są przyciski z symbolem: strzałki w lewo, strzałki w prawo, szarego i białego prostokąta opisany jako grupuj, szarego i białego okręgu opisany jako rozgrupuj, strzałki do góry przechodzącej przez poziomą prostą opisany jako do przodu, strzałki do dołu przechodzącej przez poziomą prostą opisany jako do tyłu, strzałki do góry przechodzącej przez trzy poziome proste opisany jako przód, strzałki do dołu przechodzącej przez trzy poziome proste opisany jako tył. Niżej w lewym górnym rogu znajduje się pole wypełnij. Obok niego widoczny jest czerwony kwadrat z możliwością wyboru innego koloru. Po prawej stronie pola kwadratu znajduje się pole zarys z kwadratem do wyboru. W kwadracie na czarnym tle widać biały kwadrat. Po prawej stronie kwadratu umieszczona jest cyfra cztery. Pod Polem na wypełnij znajduje się dziewięć symboli. Symbole są w dwóch rzędach. Symbole w pierwszym rzędzie: strzałka, pędzel, wiadro z wylewającą się farbą, prosta, prostokąt. Pole prostokąta jest wybrane. Symbole w drugim rzędzie kursor na wysokości wierzchołka, gumka, literka T okrąg. Obok przycisków znajduje się główne pole tworzenia kostiumów. W polu widoczny jest narysowany czerwony pionowy prostokąt. Prostokąt jest zaznaczony. Krawędzie prostokąta są niebieskie. Na wierzchołkach i w punktach charakterystycznych znajdują się niebieskie okręgi. Pod prostokątem widać symbol łuku zakończonego strzałką w lewo i prawo. Pod polem tworzenia kostiumów znajduje się niebieski prostokąt z napisem przekształć w bitmapę. Obok w prawym rogu widoczne są przyciski lupa ze znakiem minus, dwie poziome równoległe proste, lupa ze znakiem plus.
Ustawienie punktu zaczepienia na środku kostiumu duszka.
Źródło: GroMar, licencja: CC BY 3.0.
W celu usunięcia duszka, kliknij jego miniaturę w obszarze zarządzania duszkami prawym klawiszem myszy, a następnie z menu wybierz opcję Usuń.
Paletką może być dowolny prostokąt, którego dłuższy bok jest pionowy. Oczywiście, twój duszek przedstawiający paletkę może być inny, nie musisz sugerować się przykładowym duszkiem. Po stworzeniu wszystkich skryptów i przetestowaniu gry zawsze możesz zmienić duszka, jeżeli stwierdzisz, że gra jest za łatwa, bo paletka jest za duża lub paletka jest za mała i ciężko jest trafić w piłeczkę.
W kolejnych ćwiczeniach będziemy korzystać z paletki, którą możesz pobrać poniżej i wczytać ją korzystając ze stosownej opcji Wczytaj duszka w środowisku Scratch.
RjXOcV41yOAel
Na zdjęciu widać okna aplikacji gry w którym przedstawiono sposób wczytywania duszka. W górnej części ekranu znajduje się pasek narzędzi. W górnej części paska znajduje się pole z etykietą duszek oraz podpisem: Duszek jeden, symbolem osi iks: z liczbą zero oraz symbolem osi igrek z liczbą zero. Niżej znajduje się etykieta pokaż z przyciskami oka oraz przekreślonego oka. Ikona z okiem jest zaznaczona na niebiesko. Obok znajdują się pola rozmiar oraz kierunek z przypisanymi liczbami sto oraz dziewięćdziesiąt. Niżej w lewym górnym rogu znajduje się zdjęcie bohatera. Na zdjęciu jest lisek. Po prawej stronie zdjęcia jest symbol kosza. Niżej znajduje się podpis Duszek jeden. Po prawej stronie znajduje się menu. Kolejne symbole przycisków od góry: strzałka wychodząca z prostej, duża gwiazdka pomiędzy czterema mniejszymi gwiazdkami, pędzel, lupa, głowa kota. Przycisk ze strzałką jest podświetlony. Obok niego znajduje się napis: wczytaj duszę. Po prawej stronie znajduje się belka z napisem scena oraz tło. Na dole jest przycisk z symbolem zdjęcia.
Opcja dodania duszka - "Wczytaj duszka".
Źródło: GroMar, licencja: CC BY 3.0.
RJQTJTLX1FqhX
Grafika przedstawia czerwony prostokąt reprezentujący paletkę do gry w ping‑ponga.
Jak dodać nowego duszka w programie Scratch? Wybierz odpowiednią opcję, która pozwoli na wybranie duszka z wbudowanej galerii.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
1
Ćwiczenie 5
Potrzebne będą dwie paletki, które powinny być identyczne co do wielkości, aby gracze mieli równe szanse. Powiel zaprojektowaną paletkę. Po zakończeniu ustaw duszka w środkowej części prawej strony sceny.
Zduplikować duszka możesz w obszarze zarządzania duszkami, który znajduje się w prawym dolnym rogu.
W celu powielenia duszka, kliknij jego miniaturę prawym klawiszem myszy, a następnie z menu wybierz opcję Duplikuj.
R1HYLsGoxG1rw
Ćwiczenie 5
Jak zduplikować duszka w programie Scratch. Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
1
Ćwiczenie 6
Dodaj nowego duszka - piłkę. Zamiast samodzielnie rysować, możesz dodać gotowego duszka z biblioteki.
Wyszukując duszki w bibliotece pamiętaj, żeby używać angielskich nazw takich jak Tennis Ball(ang. piłka tenisowa).
W celu dodania duszka z biblioteki skorzystaj z ikonki duszka w obszarze zarządzania.
RspkkqTtL0Cnu
Na zdjęciu widać okna aplikacji gry w którym przedstawiono sposób tworzenia duszka. W górnej części ekranu znajduje się pasek narzędzi. W górnej części paska znajduje się pole z etykietą duszek oraz podpisem: prawa , symbolem osi iks: z liczbą minus dziesięć oraz symbolem osi igrek z liczbą minus siedemdziesiąt. Niżej znajduje się etykieta pokaż z przyciskami oka oraz przekreślonego oka. Ikona z okiem jest zaznaczona na niebiesko. Obok znajdują się pola rozmiar oraz kierunek z przypisanymi liczbami sto oraz dziewięćdziesiąt. Niżej w lewym górnym rogu znajdują się dwa zdjęcia. Na obu zdjęciach widoczne są czerwone poziome cienkie prostokąty. Po prawej stronie każdego ze zdjęć jest symbol kosza. Pod zdjęciami umieszczone są podpisy. Pod lewym znajduje się napis: lewa. Pod prawym widoczny jest napis: prawa. Po prawej stronie znajduje się menu. Kolejne symbole przycisków od góry: strzałka wychodząca z prostej, duża gwiazdka pomiędzy czterema mniejszymi gwiazdkami, pędzel, lupa, głowa kota. Przycisk głowy kota jest podświetlony. Obok niego znajduje się napis: wybierz duszka. Po prawej stronie znajduje się belka z napisem scena oraz tło. Na dole jest przycisk z symbolem zdjęcia.
Zrzut ekranu przedstawiający fragment okna obszaru zarządzania duszkami z zaznaczoną ikoną duszka.
Źródło: GroMar, licencja: CC BY 3.0.
W dalszych zadaniach wykorzystywany będzie duszek o nazwie Tennis Ball. Możesz wybrać innego duszka, ale sprawdź, czy jego rozmiar wynosi 30x30, ponieważ rozwiązania kolejnych ćwiczeń dostosowane są do takiej wielkości duszka.
RUtrs9vg6t7H8
Ćwiczenie 6
Jak dodać nowego losowego duszka w programie Scratch?
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
1
Ćwiczenie 7
Nadaj duszkom nazwy - odpowiednio: lewa, prawa, piłka.
W celu zmiany nazwy duszka, wybierz jego ikonę go w obszarze zarządzania duszkami. Następnie możesz wpisać jego nową nazwę w polu Duszek.
R15lQ5BPrvUA2
Na zdjęciu widać okno aplikacji gry na którym przedstawiony jest obszar zarządzania duszkami. Okno podzielone jest na dwie części. Po lewej stronie znajduje się główny obszar w postaci białego tła. W jego lewym dolnym rogu umieszczone są przyciski przedstawiające: lupę z symbolem plus, lupę z symbolem minus, dwie równoległe poziome proste. Po prawej stronie okna znajduje się menu. W górnej części menu widać pole z etykietą duszek. W polu znajduje się długi opis składający się z małych liter, dużych liter i cyfr. Na pole duszek skierowana jest duża czerwona strzałka. Obok pola po prawej widoczny jest symbolem osi iks: z liczbą trzydzieści dwa oraz symbol osi igrek z liczbą minus trzydzieści trzy. Niżej znajduje się etykieta pokaż z przyciskami oka oraz przekreślonego oka. Ikona z okiem jest zaznaczona na niebiesko. Obok znajdują się pola rozmiar oraz kierunek z przypisanymi liczbami sto oraz dziewięćdziesiąt. Niżej w lewym górnym rogu znajdują się trzy zdjęcia. Na pierwszych dwóch zdjęciach widoczne są czerwone poziome cienkie prostokąty. Na trzecim zdjęciu znajduje się piłka do tenisa. W prawym górnym rogu pierwszego zdjęcia umieszczony jest symbol kosza. Pod zdjęciami widoczne są podpisy. Pod zdjęciami prostokątów podpis składa się z małych liter, dużych liter i cyfr. Pod zdjęciem piłki znajduje się opis: tenis ball. Na dole menu widać umieszczony jest przycisk przedstawiający głowę kota. Po prawej stronie znajduje się belka z napisem scena oraz tło. Na dole jest przycisk z symbolem zdjęcia.
Zrzut ekranu z fragmentem okna obszaru zarządzania duszkami.
Źródło: GroMar, licencja: CC BY 3.0.
Poprawnie ustawione nazwy duszków:
RFJ6y3gM6BNaC
Na zdjęciu widać okno aplikacji gry na którym przedstawiony jest fragment obszaru zarządzania duszkami. W górnej części obszaru widać pole z etykietą duszka. W polu znajduje się opis: piłka. Obok pola po prawej stronie widoczny jest symbolem osi iks: z liczbą minus sześćdziesiąt oraz symbol osi igrek z liczbą trzydzieści cztery. Niżej znajduje się etykieta pokaż z przyciskami oka oraz przekreślonego oka. Ikona z okiem jest zaznaczona na niebiesko. Obok znajdują się pola rozmiar oraz kierunek z przypisanymi liczbami sto oraz dziewięćdziesiąt. Niżej w lewym górnym rogu znajdują się trzy zdjęcia. Na pierwszych dwóch zdjęciach widoczne są czerwone poziome cienkie prostokąty. Na trzecim zdjęciu znajduje się piłka do tenisa. W prawym górnym rogu trzeciego zdjęcia umieszczony jest symbol kosza. Pod zdjęciami widoczne są podpisy. Pod zdjęciami prostokątów podpis składa się z małych liter, dużych liter i cyfr. Pod zdjęciem piłki znajduje się opis: tenis ball. Na dole, w prawym dolnym rogu, widać umieszczony przycisk przedstawiający głowę kota.
Zrzut ekranu przedstawiający fragment okna obszaru zarządzania duszkami.
Źródło: GroMar, licencja: CC BY 3.0.
RUTZUURX9s3aq
Ćwiczenie 7
Jak się nazywa pole tekstowe, które pozwala na zmianę jego nazwy? Gdzie się znajduje? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
Projektujemy sterowanie paletkami
Żeby móc opracować zasady sterowania paletkami, zwróć uwagę, jak zorganizowana jest scena. Każdy punkt sceny można opisać za pomocą dwóch liczb oznaczonych w programie przez x i y. Wartość x jest liczbą z zakresu od -240 do 240, a wartość y liczbą z zakresu od -180 do 180. Miejsce, w którym wartości x i y są równe zero to środek sceny.
Re826qbT71QrF
Na zdjęciu przedstawiony jest wygląd układu sceny. Wygląd układu jest w formie kartezjańskiego układu współrzędnych. Pozioma oś iks jest osią odciętych. Oś jest w zakresie od minus dwustu czterdziestu do dwustu czterdziestu z krokiem sto. Oś pionowa jest osią rzędnych od minus stu osiemdziesięciu do stu osiemdziesięciu z krokiem sto. Na osi odciętych zaznaczone są punkty o współrzędnych iks: minus dwieście czterdzieści igrek: zero, iks: zero igrek: zero, iks dwieście czterdzieści igrek zero. Na osi rzędnych zaznaczone są punkty o współrzędnych iks: zero igrek minus sto osiemdziesiąt, iks: zero igrek: sto osiemdziesiąt.
Wartości liczb x i y różnych punktów sceny.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
1
Ćwiczenie 8
Podaj, jakie wartości x i y powinny zostać ustalone odpowiednio dla lewej i prawej paletki po uruchomieniu gry.
RZoL2QC8hX3mf
Źródło: GroMar, licencja: CC BY 3.0.
Wartość x powinna zostać dobrana w taki sposób, by paletki znajdowały się w pobliżu krawędzi sceny, ale jej nie dotykały.
Dla obu paletek wartość y powinna zostać ustawiona na .
Dla lewej paletki wartość x może zostać ustawiona na . Wówczas dla prawej powinna zostać ustawiona na .
Zgodnie ze scenariuszem gry, w momencie jej uruchomienia paletki powinny zostać umieszczone na pozycji startowej. Do uruchomienia gry można wykorzystać przycisk zielonej flagi. Algorytm na wprowadzenie ustawień początkowych dla lewej paletki mógłby więc wyglądać następująco:
Kiedy kliknięto zieloną flagę:
Przejdź na pozycję x: -220 i y: 0.
Zatrzymaj ten skrypt.
2
Ćwiczenie 9
Wybierz w obszarze zarządzania duszkami lewą paletkę. Następnie zbuduj skrypt zgodnie z algorytmem, przeciągając i łącząc odpowiednie bloki ze sobą w obszarze skryptów.
Wykorzystaj bloki Idź do x: … i y: …m816be4739d971e52_d972e239Idź do x: … i y: … oraz zatrzymaj …m816be4739d971e52_d972e248zatrzymaj … .
Zdjęcie . Skrypt przesunięcia.
Na zdjęciu pokazano animowany algorytm działania skryptu przesunięcia na daną pozycję. W bloku znajduje się napis: Idź do iks: zero, igrek: zero.
Zdjęcie . Rozbudowany skrypt przesunięcia.
Na zdjęciu pokazano animowany algorytm realizujący przesunięcie duszka do punktu o podanych liczbach. W pierwszym bloku znajduje się napis: kiedy kliknięto. Za nim narysowana jest zielona flaga. W drugim bloku widoczny jest rysunek długopisu. Za nim znajduje się napis: Ustaw rozmiar pisaka na trzy. W trzecim bloku znajduje się rysunek długopisu. Za nim znajduje się napis: przyłóż pisak. W czwartym bloku znajduje się napis: Idź do iks: sto, igrek: sto. W piątym bloku znajduje się rysunek długopisu. Za nim widoczny jest napis: Podnieś pisak. W szóstym bloku znajduje się napis: zatrzymaj ten skrypt.
Zdjęcie . Zatrzymanie skryptu.
Na zdjęciu pokazano animowany algorytm pokazujący zatrzymanie skryptu. W bloku skryptu widać napis: zatrzymaj wszystko. Napis wszystko jest w polu wyboru.
Zdjęcie . Typy zatrzymań skryptu.
Na zdjęciu pokazano animowany algorytm pokazujący różne zatrzymania skryptu. W bloku skryptu widać napis: zatrzymaj wszystko. Napis wszystko jest w polu wyboru. Pole wyboru jest rozwinięte. Na rozwiniętej liście widać pozycje: wszystko, ten skrypt, inne skrypty duszka.
Przykładowy skrypt:
R2KYqeqw2Avq2
Na zdjęciu pokazano animowany algorytm działania skryptu przesunięcia duszka na wybraną pozycję. W pierwszym bloku znajduje się napis: kiedy kliknięto. Za nim narysowana jest zielona flaga. W drugim bloku znajduje się napis: idź do iks: minus dwieście dwadzieścia igrek: zero. W trzecim bloku znajduje się napis: zatrzymaj ten skrypt.
Skrypt realizujący przesunięcie duszka do punktu o podanych współrzędnych.
Źródło: GroMar, licencja: CC BY 3.0.
R1GTOqKydpnhJ
Ćwiczenie 9
Jak nazywa się blok, który pozwala na zmianę położenia duszka na wybrane przez nas koordynaty? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
2
Ćwiczenie 10
W obszarze zarządzania duszkami wybierz prawą paletkę i zbuduj dla niej analogiczny skrypt, który ustawi ją przy prawej krawędzi sceny na środku. Następnie przetestuj działanie skryptów - uruchom program klikając na zieloną flagę. Obie paletki powinny ustawić się naprzeciw siebie w środkowej części sceny.
Wykorzystaj bloki Idź do x: … i y: …m816be4739d971e52_d972e239Idź do x: … i y: … oraz zatrzymaj …m816be4739d971e52_d972e248zatrzymaj … .
Zdjęcie . Skrypt przesunięcia.
Na zdjęciu pokazano animowany algorytm działania skryptu przesunięcia na daną pozycję. W bloku znajduje się napis: Idź do iks: zero, igrek: zero.
Zdjęcie . Rozbudowany skrypt przesunięcia.
Na zdjęciu pokazano animowany algorytm realizujący przesunięcie duszka do punktu o podanych liczbach. W pierwszym bloku znajduje się napis: kiedy kliknięto. Za nim narysowana jest zielona flaga. W drugim bloku widoczny jest rysunek długopisu. Za nim znajduje się napis: Ustaw rozmiar pisaka na trzy. W trzecim bloku znajduje się rysunek długopisu. Za nim znajduje się napis: przyłóż pisak. W czwartym bloku znajduje się napis: Idź do iks: sto, igrek: minus sto. W piątym bloku znajduje się rysunek długopisu. Za nim widoczny jest napis: Podnieś pisak. W szóstym bloku znajduje się napis: zatrzymaj ten skrypt.
Zdjęcie . Zatrzymanie skryptu.
Na zdjęciu pokazano animowany algorytm pokazujący zatrzymanie skryptu. W bloku skryptu widać napis: zatrzymaj wszystko. Napis wszystko jest w polu wyboru.
Zdjęcie . Typy zatrzymań skryptu.
Na zdjęciu pokazano animowany algorytm pokazujący różne zatrzymania skryptu. W bloku skryptu widać napis: zatrzymaj wszystko. Napis wszystko jest w polu wyboru. Pole wyboru jest rozwinięte. Na rozwiniętej liście widać pozycje: wszystko, ten skrypt, inne skrypty duszka.
Przykładowy skrypt:
R1ROeXB6KwLkL
Na zdjęciu pokazano przykładowy animowany algorytm działania skryptu przesunięcia obiektu na wybraną pozycję. W pierwszym bloku znajduje się napis: kiedy kliknięto. Za nim narysowana jest zielona flaga. W drugim bloku znajduje się napis: idź do iks: dwieście dwadzieścia igrek: zero. W trzecim bloku znajduje się napis: zatrzymaj ten skrypt.
Przykładowy skrypt realizujący zmianę położenia duszka na scenie.
Źródło: GroMar, licencja: CC BY 3.0.
R1Gzo6QaR6OmH
Ćwiczenie 10
Jak nazywa się blok, który pozwala na przesunięcie duszka w stronę, w którą jest zwrócony? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
Kolejne skrypty, które należy stworzyć, powinny graczom zapewnić możliwość sterowania paletkami. Każda paletka ma się poruszać w górę lub w dół o określoną liczbę kroków w wyniku naciśnięcia odpowiedniego klawisza - zgodnie z opracowanym scenariuszem gry. Zmianie będzie więc podlegała tylko wartość y danej paletki. Wartość x powinna być stała, ponieważ paletka nie będzie się poruszała w prawą ani lewą stronę. Algorytm na ruch paletki może wyglądać następująco:
Kiedy naciśnięto klawisz …
Zmień y o … .
Zatrzymaj ten skrypt.
2
Ćwiczenie 11
W obszarze zarządzania duszkami wybierz lewą paletkę. Zbuduj zgodnie z powyższym algorytmem skrypt, który będzie ją przesuwał do góry po naciśnięciu klawisza A. Jeżeli w swoim scenariuszu masz przewidziane inne klawisze do sterowania paletkami niż uwzględnione w opisie, wykorzystaj je konsekwentnie podczas budowy skryptów.
Wykorzystaj bloki kiedy klawisz … naciśniętym816be4739d971e52_d972e279kiedy klawisz … naciśnięty oraz zmień y o …m816be4739d971e52_d972e288zmień y o … . Zwróć uwagę, że w opcjach bloku może być ustawiony inny klawisz, niż ten, który chcesz. Zauważ również, że zmiana y o wartość dodatnią spowoduje ruch paletki do góry.
Zdjęcie . Blok skryptu rozpoczynający się od naciśnięcia spacji.
Na zdjęciu przedstawiono animowany blok skryptu rozpoczynającego się od naciśnięcia spacji. W bloku widoczny jest napis: kiedy klawisz spacja naciśnięty. Słowo spacja jest w polu wyboru.
Zdjęcie . Algorytm programu rozpoczynający się od naciśnięcia spacji.
Na zdjęciu przedstawiono animowany blok skryptu rozpoczynającego się od wciśnięcia spacji. W pierwszym bloku widoczny jest napis: kiedy klawisz spacja naciśnięty. Słowo spacja jest w polu wyboru. W drugim bloku jest napis: powiedz naciśnięto klawisz strzałki w prawo!. W trzecim bloku znajduje się napis: zatrzymaj wszystko. Słowo wszystko jest w polu wyboru. W prawym dolnym rogu ilustracji jest idący kot. Nad nim jest dymek dialogowy. W dymku jest napis: Naciśnięto klawisz strzałki w prawo.
Zdjęcie . Blok algorytm odpowiadającego za zmianę pozycji duszka.
Na zdjęciu przedstawiono animowany blok algorytmu odpowiadającego za zmianę pozycji duszka. W bloku algorytmu znajduje się napis: zmień igrek o sto.
Zdjęcie . Algorytm odpowiadający za zmianę pozycji duszka.
Na zdjęciu przedstawiono animowany algorytm odpowiadającego za zmianę pozycji duszka. W pierwszym bloku znajduje się napis: kliknięto. Za zapisem widać rysunek zielonej flagi. W drugim bloku algorytmu widać animowany długopis. Za nim znajduje się napis: ustaw rozmiar pisaka na trzy. W trzecim bloku algorytmu widać narysowany pisak. Za nim znajduje się napis: przyłóż pisak. W czwartym bloku algorytmu znajduje się napis: zmień igrek o sto. W piątym bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu ilustracji jest idący kot.
Przykładowy skrypt przesuwający paletkę do góry o 30 kroków po wciśnięciu klawisza A:
R1ACnFnOZxlxB
Na zdjęciu przedstawiono animowany algorytm odpowiadającego za zmianę pozycji obiektu. W pierwszym bloku znajduje się napis: kiedy klawisz a naciśnięty. Słowo a jest w polu wyboru. W drugim bloku algorytmu znajduje się napis: zmień igrek o trzydzieści. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru.
Skrypt realizujący przesunięcie paletki do góry o 30 kroków po wciśnięciu klawisza A.
Źródło: GroMar, licencja: CC BY 3.0.
R1Lynk8Lw2LZb
Ćwiczenie 11
Jakim blokiem możesz przesunąć duszka w górę albo w dół? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
1
Ćwiczenie 12
Powiel stworzony skrypt obsługujący klawisz A. Następnie zmień klawisz, który ma aktywować skrypt, na Z. Zmodyfikuj wartość, o jaką powinna zmienić się y, by paletka poruszyła się do dołu.
W celu powielenia skryptu:
kliknij na pierwszym od góry klocku skryptu prawym klawiszem myszy,
z menu podręcznego wybierz opcję duplikuj,
przesuń skopiowany skrypt na pustą przestrzeń w obszarze skryptów,
kliknij w miejscu, gdzie chcesz upuścić skopiowany skrypt.
Przykładowy skrypt:
RmelhDn1iCqBO
Na zdjęciu przedstawiono animowany algorytm odpowiadającego za zmianę pozycji obiektu. W pierwszym bloku znajduje się napis: kiedy klawisz z naciśnięty. Słowo z jest w polu wyboru. W drugim bloku algorytmu znajduje się napis: zmień igrek o minus trzydzieści. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru.
Przykladowy algorytm zmiany pozycji obiektu.
Źródło: GroMar, licencja: CC BY 3.0.
RX8zjNrGQLZj7
Ćwiczenie 12
Jakim blokiem możesz przesunąć duszka w lewo albo w prawo? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
1
Polecenie 2
Wypróbuj działanie skryptów. Wciśnij kilkukrotnie klawisz A, następnie Z. Czy lewa paletka porusza się odpowiednio do góry i do dołu? Czy twoim zdaniem dostatecznie szybko? Co należałoby zrobić, aby paletka poruszała się szybciej lub wolniej?
R15yPUJpJuQgw
Źródło: GroMar, licencja: CC BY 3.0.
Szybkość ruchu paletki zależy od liczby kroków, które pokona duszek- paletka po wciśnięciu klawisza. Możesz zmodyfikować liczbę kroków w odpowiednich miejscach skryptów i dostosować ruch paletki do swoich wymagań.
1
Ćwiczenie 13
Przygotuj odpowiednie skrypty, reagujące na wciśniecie klawiszy K oraz M dla drugiej paletki. Zamiast tworzyć je od początku, możesz skopiować skrypty, które zostały przygotowane dla lewej paletki, a następnie zmienić klawisze, na które mają reagować.
W celu skopiowania skryptu między duszkami, należy wybrać dany skrypt i przeciągnąć go tak, by upuścić na drugim duszku w obszarze zarządzania. Po skopiowaniu skryptów, wystarczy wybrać drugiego duszka i zmodyfikować skopiowane skrypty.
Uwaga!
Należy zachować ostrożność, żeby podczas kopiowania nie upuścić skryptu w przypadkowym miejscu - może to spowodować jego usunięcie. Żeby się zabezpieczyć, przed przeciągnięciem skryptu można go powielić, a po skopiowaniu, powielony skrypt usunąć.
Przykładowe skrypty:
R1NgcR4anpP20
Na zdjęciu przedstawiono animowany algorytm odpowiadającego za zmianę pozycji obiektu. W pierwszym bloku znajduje się napis: kiedy klawisz k naciśnięty. Słowo k jest w polu wyboru. W drugim bloku algorytmu znajduje się napis: zmień igrek o trzydzieści. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru.
Przykładowy skrypt zmiany pozycji obiektu.
Źródło: GroMar, licencja: CC BY 3.0.
R1FNifpafSebA
Ćwiczenie 13
Jakim blokiem należy rozpocząć skrypt, który uruchomi się po naciśnięciu klawisza spacja? Wybierz prawidłową odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e239
RahMUsCZQ7Sy4
Na zdjęciu pokazano blok z napisem: idź do iks: zero, igrek: zero.
Blok "Idź do x: ... y: ..." z kategorii "Ruch".
Źródło: GroMar, licencja: CC BY 3.0.
Przesuwa duszka do punktu opisanego liczbami (x, y) zgodnie z aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość).
Przykład:
R1KRcDUlDePFv
Skrypt realizujący przesunięcie duszka do punktu o podanych współrzędnych.
Skrypt realizujący przesunięcie duszka do punktu o podanych współrzędnych.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e248
RR6LxN8eEkKfg
Klocek: zatrzymaj wszystko.
Blok "zatrzymaj ..." z kategorii "Kontrola".
Źródło: GroMar, licencja: CC BY 3.0.
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 poleceniami powiedz i pomyśl. Zatrzymaj ten skrypt i zatrzymaj inne skrypty duszka pozostawia dymki bez zmian.
RDcAbTzlw5MoA
Klocek: zatrzymaj z pokazaną rozwiniętą listą
Blok "zatrzymaj ..." z rozwiniętą listą opcji.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e279
Rq0esBZWx8qV7
Klocek: kiedy klawisz spacja naciśnięty
Blok z kategorii "Zdarzenia" - "kiedy klawisz ... naciśnięty".
Źródło: GroMar, licencja: CC BY 3.0.
Skrypt rozpoczynający się od bloku jest uruchamiany po naciśnięciu wybranego z listy rozwijalnej klawisza na klawiaturze.
Przykład:
R1dxApLLehrfk
Skrypt realizujący wyświetlenie napisu po wciśnięciu klawisza strzałki w prawo
Skrypt realizujący wyświetlenie napisu po wciśnięciu klawisza strzałki w prawo.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e288
Rq4ta9srKix2m
Klocek: zmień y o 10
Blok "zmień y o ..." z kategorii "Ruch".
Źródło: GroMar, licencja: CC BY 3.0.
Zmienia liczbę y duszka o podaną wartość zgodnie z aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość).
Przykład:
R1QALTQhWOFev
Skrypt przesuwający duszka do góry o 100 punktów
Skrypt przesuwający duszka do góry o 100 punktów.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d5e698
Projektujemy działanie piłeczki
Gracze mogą już sterować paletkami. Czas zaprojektować skrypty dla piłki. W scenariuszu zostały dla niej zaplanowane następujące ustawienia początkowe:
Piłka zostaje umieszczona na środku ekranu i zaczyna poruszać się w losowym kierunku.
1
Ćwiczenie 14
Podaj opis (algorytm) działania piłeczki, który:
uwzględni ustawienia początkowe,
spowoduje ciągłe poruszanie się piłeczki.
Zapisz go. Następnie porównaj z przykładowym rozwiązaniem zamieszczonym w odpowiedzi.
R6JBJinrugUP3
Źródło: GroMar, licencja: CC BY 3.0.
Piłka powinna poruszać się cały czas. Do powtarzania pewnych poleceń w programowaniu wykorzystuje się instrukcje zwane pętlą. W tym przypadku najlepiej będzie użyć bloku zawszem816be4739d971e52_d972e350zawsze.
Zdjęcie . Blok zadania.
Na zdjęciu przedstawiono animowany blok algorytmu zadania. Blok jest w kształcie odwróconej litery U. W bloku znajduje się napis zadanie. Pod napisem jest wolna przestrzeń. Na dole bloku znajduje się strzałka zwrócona grotem do góry.
Zdjęcie . Przykładowy algorytm skryptu zadania.
Na zdjęciu przedstawiono animowany blok przykładowego zadania. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis zawsze. W przestrzeni bloku znajdują się bloki zadań W pierwszy bloku zadania widoczny jest napis: następny kostium. W drugim bloku zadania znajduje się napis czekaj dwie dziesiąte sekund. W trzecim bloku zadań znajduje się napis: jeśli klawisz spacja naciśnięty? to. Słowo spacja jest w polu wyboru. W czwartym bloku zadania znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Algorytm na skrypt realizujący początkowe ustawienia piłki może wyglądać następująco:
Kiedy kliknięto zieloną flagę:
Idź na środek sceny (do x: 0 i y: 0),
Ustaw kierunek ruchu na losowy,
Zawsze: 3.1. Przesuń o kroków.
1
Ćwiczenie 15
Wybierz duszka - piłkę, a następnie stwórz dla niego skrypt zgodnie z opracowanym w poprzednim zadaniu algorytmem. Następnie przetestuj działanie skryptu.
Znajdź dwa bloki. Pierwszy, który daje możliwość ustawienia kierunku ruchu dla duszka. Drugi, który pozwala wylosować wartość z podanego przedziału liczb. Oba przeciągnij do obszaru skryptów. Następnie zastanów się nad następującymi kwestiami:
W jaki sposób można bloki połączyć ze sobą, żeby kierunek ruchu był losowy?
Jaki należy ustawić zakres losowania, żeby piłka po uruchomieniu programu mogła poruszać się w dowolnym kierunku?
Blok losuj od … do …m816be4739d971e52_d972e378losuj od … do … możesz umieścić w miejscu parametru bloku ustaw kierunek na …m816be4739d971e52_d972e369ustaw kierunek na …. W celu ustalenia dowolnego kierunku należy losować wartość z zakresu od do stopni.
Zdjęcie . Blok algorytmu losowania.
Na zdjęciu przedstawiono animowany blok algorytmu losowania. W bloku znajduje się napis: losuj liczbę od jeden do dziesięć.
Zdjęcie . Przykładowy algorytm losowania.
Na zdjęciu przedstawiono przykładowy animowany algorytm losowania liczby. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: powiedz. Za nim widoczny jest dodatkowy blok z napisem: połącz wylosowałem i losuj liczbę od jeden do sześć. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu zdjęcia widoczny jest animowany kot. Nad kotem znajduje się okno dialogowe. W oknie umieszczony jest napis: wylosowałem pięć.
Zdjęcie . Blok ustawienia kierunku.
Na zdjęciu przedstawiono animowany blok algorytmu ustaw kierunek na. W bloku znajduje się napis: ustaw kierunek na dziewięćdziesiąt.
Na zdjęciu przedstawiono przykładowy animowany algorytm ustawienia kierunku. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: ustaw kierunek na minus sto pięćdziesiąt. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu zdjęcia widoczny jest animowany kot który idzie a następnie przewraca się.
RByX5kZ1DOjzH
Na zdjęciu przedstawiono przykładowy animowany algorytm losowania liczby oraz ustawienia kierunku. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu widoczny jest napis: ustaw kierunek na. Za nim znajduje się dodatkowy blok z napisem: losuj liczbę od jeden do trzystu sześćdziesięciu. W czwartym bloku algorytmu znajduje się napis: zawsze. Blok ten jest blokiem zadania. W bloku zadania umieszczony jest pierwszy blok zadania z napisem: przesuń o pięć kroków. Na dole głównego bloku zadania znajduje się strzałka skierowane w górę.
Czy piłeczka za każdym razem po uruchomieniu porusza się w innym, losowym kierunku? Czy porusza się cały czas? Jeśli dojdzie do krawędzi sceny, chwyć ją myszką, odsuń ją od brzegu i puść ponownie. Czy piłeczka dalej się porusza?
Ważne!
Zauważ, że losowanie kierunku z zakresu od 0 do 360 stopni może spowodować wylosowanie wartości powodujących poruszanie się piłki pionowo w górę lub w dół - wówczas piłka nigdy nie dotrze do paletki. Jeśli tak się zdarzy, rozpocznij grę od początku.
Pozostało stworzenie skryptów, które obsłużą zaplanowane akcje - zdarzenia mogące zajść w grze. Zwróć uwagę, że wszystkie zaplanowane akcje dotyczą piłki:
Piłka dotyka krawędzi sceny - ma odbić się od niej, czyli zmienić kierunek ruchu.
Piłka dotyka paletki - ma odbić się od niej, czyli zmienić kierunek ruchu.
Piłka ominęła paletkę - koniec gry - wygrywa gracz obsługujący drugą paletkę.
2
Ćwiczenie 16
Uzupełnij algorytm działania piłki, tak aby uwzględnić opisane w scenariuszu zdarzenia.
R1M2KrRGxeDJc
Źródło: GroMar, licencja: CC BY 3.0.
Zdarzenia opisane w scenariuszu zachodzą, jeżeli piłka spełniła pewne założenie. Tak więc, aby je uwzględnić, musisz skorzystać z instrukcji warunkowej jeżeli ... tom816be4739d971e52_d972e454jeżeli ... to. W przypadku piłki, algorytm sprawdza różne warunki, takie jak dotykanie krawędzi sceny lub paletki, aby podejmować odpowiednie działania w zależności od sytuacji.
Przykładowy algorytm może wyglądać następująco:
Kiedy kliknięto zieloną flagę:
Idź na środek sceny (do x: 0 i y: 0).
Ustaw kierunek na losową wartość z zakresu do stopni.
Zawsze: 3.1. Przesuń o kroków. 3.2. Jeżeli dotyka krawędzi sceny: ⠀ 3.2.1. Odbij się - zmień kierunek ruchu. 3.3. Jeżeli dotyka lewej paletki lub dotyka prawej paletki to: ⠀ 3.3.1. Odbij się - zmień kierunek ruchu. 3.4. Jeżeli ominie lewą paletkę to: ⠀ 3.4.1. Wyświetl „Zwycięża gracz z prawej”. ⠀ 3.4.2. Zatrzymaj wszystko. 3.5. Jeżeli ominie prawą paletkę to: ⠀ 3.5.1. Wyświetl „Zwycięża gracz z lewej”. ⠀ 3.5.2. Zatrzymaj wszystko.
Zdarzenia takie jak dotknięcie przez piłeczkę krawędzi sceny lub paletki, a także ominięcie paletki mogą nastąpić za każdym razem, gdy piłka wykona ruch. Dlatego zbadanie tych zdarzeń powinno być umieszczone wewnątrz pętli, po tym jak nastąpi przesunięcie piłki. Kolejność sprawdzenia warunków nie ma większego znaczenia. Wszystkie warunki sprawdzane są między kolejnymi ruchami piłki - nawet jeżeli piłka zmieni kierunek ruchu, bo dotknęła krawędzi boiska, to nie zmieni swojej pozycji. Jeżeli ominęła którąś z paletek, to na pewno nie ominęła drugiej.
2
Ćwiczenie 17
Znajdź blok pozwalający odbijać się piłce od ścian i zmodyfikuj skrypt. Następnie ponownie uruchom program zieloną flagą. Czy piłeczka odbija się zgodnie z oczekiwaniami?
R1JSdhsNBLcTA
Źródło: GroMar, licencja: CC BY 3.0.
Blok pozwalający odbić się duszkowi od brzegu sceny to jeżeli na brzegu, odbij sięm816be4739d971e52_d972e412jeżeli na brzegu, odbij się.
Zdjęcie . Przykładowy blok z akcją.
Na zdjęciu przedstawiono przykładowy animowany blok algorytmu. W bloku znajduje się napis: jeżeli na brzegu, odbij się.
Zdjęcie . Przykładowy algorytm z wykonywaną akcją.
Na zdjęciu przedstawiono przykładowy animowany algorytm z wykonywaną akcją. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: zawsze. Blok ten jest blokiem zadania. W bloku zadania umieszczone są trzy dodatkowe wewnętrzne bloki. Pierwszy blok zadania z napisem: przesuń o dwadzieścia kroków. Drugi blok zadania z napisem: czekaj dwie dziesiąte sekund. Trzeci blok zadania z napisem: jeżeli na brzegu, odbij się. Na dole głównego bloku zadania znajduje się strzałka skierowane w górę.
Skrypt po zmianach:
RNyyPp71xHdfP
Na zdjęciu przedstawiono przykładowy animowany algorytm losowania liczby oraz ustawienia kierunku. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu widoczny jest napis: ustaw kierunek na. Za nim znajduje się dodatkowy blok z napisem: losuj liczbę od jeden do trzystu sześćdziesięciu. W czwartym bloku algorytmu znajduje się napis: zawsze. Blok ten jest blokiem zadania. W bloku zadania umieszczone są dwa dodatkowe bloki. Pierwszy blok zadania z napisem: przesuń o pięć kroków. Drugi blok zadania z napisem: jeżeli na brzegu odbij się. Na dole głównego bloku zadania znajduje się strzałka skierowane w górę.
Przykładowy algorytm na odbijanie piłeczki od ściany.
Źródło: GroMar, licencja: CC BY 3.0.
Niestety, nie ma bloku pozwalającego osiągnąć efekt odbicia jednego duszka od drugiego. Należy więc zastanowić się, jak zmienić kierunek ruchu po odbiciu się piłeczki od paletki. Być może wiesz, że kąt padania równy jest kątowi odbicia. Żeby obliczyć kierunek ruchu musisz wiedzieć, w jaki sposób oznaczane są kierunki w programie Scratch. W kategorii Ruch znajdziesz blok kierunekm816be4739d971e52_d972e424kierunek. Wartość tego bloku, to aktualny kierunek duszka (w tę stronę duszek się przemieszcza). Kierunek duszka przyjmuje wartości zgodnie z regułą przedstawioną na poniższym rysunku. Dla przykładu, jeżeli blok kierunek ma wartość , to duszek przesuwa się w prawo, jeżeli blok kierunek ma wartość , to duszek przesuwa się w stronę lewego dolnego rogu.
Zdjęcie . Przykładowy blok algorytmu z akcją kierunek.
Na zdjęciu przedstawiono przykładowy animowany blok algorytmu o nazwie kierunek. W bloku znajduje się napis: kierunek.
Zdjęcie . Przykładowy algorytm z akcją kierunek.
Na zdjęciu przedstawiono przykładowy animowany algorytm dla akcji kierunek. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: powiedz. Za nim widoczny jest wewnętrzny blok z napisem: połącz jestem ustawiony w kierunku: i kierunek. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu zdjęcia widoczny jest animowany kot. Nad kotem jest pole dialogowe. W polu dialogowym znajduje się napis: jestem ustawiony w kierunku czterdzieści pięć.
R4S1SXEAC6KGu
Na zdjęciu widać strzałki kierunkowe z zaznaczonymi stopniami. Osiem strzałek kierunkowych wychodzi z punktu znajdującego się na środku zdjęcia. Strzałki są równomiernie rozmieszczone co czterdzieści pięć stopni. Groty strzałek są skierowane na zewnątrz. Nad każdą ze strzałek znajduje się liczba. Liczby widziane w kolejności zgodnie z ruchem wskazówek zegara: zero, czterdzieści pięć, dziewięćdziesiąt, sto trzydzieści pięć, sto osiemdziesiąt, minus sto trzydzieści pięć, minus dziewięćdziesiąt, minus czterdzieści pięć.
Ilustracja przedstawiająca strzałki kierunkowe z zaznaczonymi stopniami.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Wskazówka
Wartości bloku kierunekm816be4739d971e52_d972e424kierunek są z zakresu od -180 do 180. Blok ustaw kierunek na …m816be4739d971e52_d972e369ustaw kierunek na … może korzystać zarówno z zakresu od -180 do 180 stopni, jak również od do stopni. Dlatego w poprzednim zadaniu można było skorzystać z losowania kierunku właśnie w tym zakresie. Scratch automatycznie potrafi przeliczyć odpowiednio wartości, a tworząc program możesz skorzystać z odpowiadającego ci w danym przypadku sposobu oznaczenia kierunku.
Zdjęcie . Przykładowy blok algorytmu z akcją kierunek.
Na zdjęciu przedstawiono przykładowy animowany blok algorytmu o nazwie kierunek. W bloku znajduje się napis: kierunek.
Zdjęcie . Przykładowy algorytm z akcją kierunek.
Na zdjęciu przedstawiono przykładowy animowany algorytm dla akcji kierunek. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: powiedz. Za nim widoczny jest wewnętrzny blok z napisem: połącz jestem ustawiony w kierunku: i kierunek. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu zdjęcia widoczny jest animowany kot. Nad kotem jest pole dialogowe. W polu dialogowym znajduje się napis: jestem ustawiony w kierunku czterdzieści pięć.
Zdjęcie . Przykładowy blok algorytmu z akcją kierunek.
Na zdjęciu przedstawiono animowany blok algorytmu ustaw kierunek na. W bloku znajduje się napis: ustaw kierunek na dziewięćdziesiąt.
Zdjęcie . Przykładowy algorytm z akcją ustawienia kierunku.
Na zdjęciu przedstawiono przykładowy animowany algorytm ustawienia kierunku. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: ustaw kierunek na minus sto pięćdziesiąt. W trzecim bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu zdjęcia widoczny jest animowany kot który idzie a następnie przewraca się.
3
Ćwiczenie 18
Wyjaśnij, w jaki sposób można obliczyć wartość kierunku, w którym piłka ma się poruszać po odbiciu od paletki. Możesz skorzystać z rysunku nad ćwiczeniem lub z rysunku zamieszczonego w podpowiedzi.
RYYyK6Bzm56jg
Źródło: GroMar, licencja: CC BY 3.0.
R1AG5vUgdmT0z
Na zdjęciu widać różne rysunki przedstawiające obliczenia wartości kierunku. W centralnej części rysunku znajduje się rysunek opisujący kierunki pod postacią strzałek kierunkowych z zaznaczonymi stopniami. Osiem strzałek kierunkowych wychodzi z punktu znajdującego się na środku zdjęcia. Strzałki są równomiernie rozmieszczone co czterdzieści pięć stopni. Groty strzałek są skierowane na zewnątrz. Nad każdą ze strzałek znajduje się liczba. Liczby widziane w kolejności zgodnie z ruchem wskazówek zegara: zero, czterdzieści pięć, dziewięćdziesiąt, sto trzydzieści pięć, sto osiemdziesiąt, minus sto trzydzieści pięć, minus dziewięćdziesiąt, minus czterdzieści pięć. W lewym górnym rogu widać rysunek na którym zaznaczona jest pionowa prosta. Od dołu na kierunku sto trzydzieści pięć leci piłka oznaczona strzałką. Piłka odbija się od prostej i leci dalej na kierunku czterdziestu pięciu stopni. Strzałka z kierunku sto trzydzieści pięć jest teoretycznie przedłużona pod postacią szarej strzałki na kierunku minus czterdzieści pięć. W lewym dolnym rogu widać rysunek na którym zaznaczona jest pionowa prosta. Od góry na kierunku czterdzieści pięć leci piłka oznaczona strzałką. Piłka odbija się od prostej i leci dalej na kierunku sto trzydzieści pięć stopni. Strzałka z kierunku czterdziestu pięciu stopni jest teoretycznie przedłużona pod postacią szarej strzałki na kierunku minus stu trzydziestu pięciu. W prawym górnym rogu widać rysunek na którym zaznaczona jest pionowa prosta. Od dołu na kierunku minus sto trzydzieści pięć stopni leci piłka oznaczona strzałką. Piłka odbija się od prostej i leci dalej na kierunku minus czterdziestu pięciu stopni. Strzałka z kierunku minus sto trzydzieści pięć jest teoretycznie przedłużona pod postacią szarej strzałki na kierunku czterdzieści pięć. W prawym dolnym rogu widać rysunek na którym zaznaczona jest pionowa prosta. Od góry na kierunku minus czterdzieści pięć leci piłka oznaczona strzałką. Piłka odbija się od prostej i leci dalej na kierunku minus sto trzydzieści pięć stopni. Strzałka z kierunku minus czterdzieści pięć stopni jest teoretycznie przedłużona pod postacią szarej strzałki na kierunku stu trzydziestu pięciu.
Obliczanie kierunku odbicia.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Jak możesz zauważyć na rysunku, wystarczy przemnożyć wartość aktualnego kierunku, z którego piłka nadlatuje przez w celu obliczenia kierunku po odbiciu od paletki.
2
Ćwiczenie 19
Popraw skrypt tak, aby zmieniał kierunek piłeczki po dotknięciu paletki gracza. Poniżej znajduje się lista kroków, która może ci w tym pomóc:
Kiedy kliknięto zieloną flagę:
Idź na środek sceny (do x: 0 i y: 0).
Ustaw kierunek na losową wartość z zakresu 0 do 360 stopni.
Zawsze: 3.1. Przesuń o kroków. 3.2. Jeżeli na brzegu, odbij się. 3.3. Jeżeli dotyka lewej paletki lub dotyka prawej paletki to: ⠀ 3.3.1.Ustaw kierunek na . ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀
Wykorzystaj bloki: jeżeli … tom816be4739d971e52_d972e454jeżeli … to oraz dotyka … ?m816be4739d971e52_d972e464dotyka … ? w celu sprawdzenia warunku odbicia.
Zdjęcie . Przykładowy blok algorytmu jeżeli to.
Na zdjęciu przedstawiono animowany blok algorytmu jeżeli to. Blok jest w kształcie odwróconej litery U. W pustej przestrzeni jest miejsce na kolejne bloki algorytmów które są realizowane po spełnieniu warunku. W bloku algorytmu znajduje się napis: jeżeli to. Między słowami jeżeli to jest puste miejsce do uzupełnienia.
Zdjęcie . Przykładowy algorytm z blokiem jeżeli to.
Na zdjęciu przedstawiono animowany blok przykładowego zadania. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis zawsze. W przestrzeni bloku znajdują się bloki zadań W pierwszy bloku zadania widoczny jest napis: następny kostium. W drugim bloku zadania znajduje się napis czekaj dwie dziesiąte sekund. W trzecim bloku zadań znajduje się napis: jeśli klawisz spacja naciśnięty? to. Słowo spacja jest w polu wyboru. W czwartym bloku zadania znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Zdjęcie . Przykładowy blok akcji.
Na zdjęciu przedstawiono animowany blok czynności. dotyka wskaźnik myszy? Słowa: wskaźnik myszy są w polu wyboru.
Zdjęcie . Przykładowy algorytm z blokiem warunkowym i blokiem zadania.
Na zdjęciu przedstawiono animowany blok przykładowego zadania z blokiem warunkowym jeżeli to. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis: powtarzaj aż za którym jest wewnętrzna instrukcja z napisem: dotyka Mruczek? Słowo: Mruczek jest w polu wyboru. W przestrzeni bloku znajdują się bloki zadań W pierwszy bloku zadania widoczny jest napis: ustaw w kierunku duszka Mruczek. Słowo Mruczek jest w polu wyboru. W drugim bloku zadania znajduje się napis: przesuń o pięć kroków. W trzecim bloku zadania znajduje się napis: następny kostium. W czwartym bloku zadania znajduje się napis: czekaj trzy dziesiąte sekund. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę. Pod blokiem zadania w czwartym bloku skryptu algorytmu znajduje się napis: powiedz złapałem Mruczka!. Słowa: Złapałem Mruczka! znajdują się w polu do uzupełnienia. W piątym bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu ilustracji znajduje się animowany pies i kot. Nad psem znajduje się okno dialogowe. W oknie widać napis: złapałem Mruczka!.
Przykładowy skrypt może wyglądać jak niżej. Zauważ, że wykorzystany został dodatkowy blok … lub …m816be4739d971e52_d972e474… lub … , pozwalający zbudować złożony warunek dla bloku jeżeli … tom816be4739d971e52_d972e454jeżeli … to .
Zdjęcie . Bloki logiczne.
Na zdjęciu przedstawiono trzy bloki algorytmu z różnymi operatorami logicznymi. W pierwszym bloku znajduje się słowo: i. W drugim bloku znajduje się słowo: lub. W trzecim bloku znajduje się słowo: nie. W pierwszych dwóch blokach przed i za słowem znajdują się miejsca do uzupełnienia. W trzecim bloku za słowem: nie, znajduje się miejsce do uzupełnienia.
Zdjęcie . Przykładowy algorytm z blokiem logicznym.
Na zdjęciu przedstawiono przykładowy algorytm z blokiem logicznym. W pierwszym bloku znajduje się napis: kiedy kliknięto. Za nim umieszczony jest rysunek zielonej flagi. Drugi blok jest blokiem zadania W głównym bloku znajduje się napis: jeżeli. Za napisem jest blok logiczny: pozycja iks większa od pięćdziesiąt i pozycja igrek większa od pięćdziesiąt to. Wewnątrz głównego bloku zadania znajduje się jeden blok z zadaniem. W pierwszym wewnętrznym bloku zadania znajduje się napis: powiedz jestem w prawej górnej części sceny. Na dole, na końcu głównego bloku zadania znajduje się biała strzałka z grotem skierowanym do góry. W trzecim głównym bloku algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. W prawym dolnym rogu ilustracji znajduje się animowany kot. Kot idzie. Nad nim jest pole dialogowe. W polu dialogowym znajduje się napis: jestem w prawej górnej części sceny.
Zdjęcie . Blok jeżeli to.
Na zdjęciu przedstawiono animowany blok algorytmu jeżeli to. Blok jest w kształcie odwróconej litery U. W pustej przestrzeni jest miejsce na kolejne bloki algorytmów które są realizowane po spełnieniu warunku. W bloku algorytmu znajduje się napis: jeżeli to. Między słowami jeżeli to jest puste miejsce do uzupełnienia.
Zdjęcie . Przykładowy algorytm z blokiem jeżeli to.
Na zdjęciu przedstawiono animowany blok przykładowego zadania z blokiem warunkowym jeżeli to. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis: zawsze. W przestrzeni bloku znajdują się bloki zadań W pierwszy bloku zadania widoczny jest napis: następny kostium. W drugim bloku zadania znajduje się napis: czekaj dwie dziesiąte sekund. W trzecim bloku zadań znajduje się napis: jeśli klawisz spacja naciśnięty? to. Słowo spacja jest w polu wyboru. W czwartym bloku zadania znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
R1VdgvsGzQ4J3
Na zdjęciu przedstawiono przykład animowanego skryptu. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu znajduje się tekst: ustaw kierunek na losuj liczbę od zera do trzystu sześćdziesięciu. W czwartym bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis: zawsze. W przestrzeni bloku znajdują się cztery bloki zadań W pierwszy bloku zadania widoczny jest napis: przesuń o pięć kroków. W drugim bloku zadania znajduje się napis: jeżeli na brzegu, odbij się. W trzecim bloku zadania znajduje się napis: jeżeli dotyka lewa? lub dotyka prawa ? to. Słowa lewa i prawa znajdują się w polach wyboru. W czwartym bloku zadania znajduje się napis: ustaw kierunek na minus jeden razy kierunek. Słowo kierunek jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Przykładowy skrypt z odbijaniem piłeczki po dotknięciu paletki.
Źródło: GroMar, licencja: CC BY 3.0.
Należy jeszcze oprogramować sytuację, w której piłka minie jedną z paletek. Położenie duszków opisują liczby oznaczone przez x i y. Należy zbadać, czy wartość x piłeczki jest mniejsza od x lewej paletki (wówczas wygrywa gracz z prawej strony sceny) lub większa od x paletki prawej (wówczas wygrywa gracz z lewej strony sceny). W tym celu można skorzystać ze zmiennych pozycja xpozycja_x_i_pozycja_ypozycja x i pozycja ypozycja_x_i_pozycja_ypozycja y dostępnych w kategorii Ruch. Przechowują one położenie duszka i na bieżąco je aktualizują. Wartości x dla obu paletek są znane i stałe. Oznacza to, że w przypadku duszka paletek wartość w zmiennej pozycja x nie będzie ulegać zmianie. Wystarczy więc w skrypcie piłeczki dodać odpowiednie instrukcje sprawdzające, czy piłeczka nie minęła jednej z paletek. Żeby gracze wiedzieli, który z nich wygrał, warto, żeby piłka wyświetliła odpowiedni komunikat, np. powiedziała: „Zwycięża gracz z prawej” lub „Zwycięża gracz z lewej”. Następnie powinno nastąpić zatrzymanie gry.
1
Ćwiczenie 20
Uzupełnij skrypt zgodnie z powyższymi rozważaniami. Niech duszek piłka sprawdza swoje położenie względem paletki, a po jej minięciu wyświetli napis, kto wygrał np. przez 2 sekundy i zatrzyma wszystkie skrypty.
Zaktualizuj fragment w bloku zawsze poprzedniego skryptu wg podanej listy kroków. Wykorzystaj bloczek jeżeli ... to w celu ustalenia zwycięzcy.
Zawsze: 1.1. Przesuń o kroków. 1.2. Jeżeli na brzegu, odbij się. 1.3. Jeżeli dotyka lewej paletki lub dotyka prawej paletki to: ⠀ 1.3.1 Ustaw kierunek na (-1)*kierunek. 1.4. Jeżeli wartość x piłki < wartość x lewej paletki to: ⠀ 1.4.1. Powiedz „Zwycięża gracz z prawej”. ⠀ 1.4.2. Zatrzymaj wszystko. 1.5. Jeżeli wartość x piłki > wartość x prawej paletki to: ⠀ 1.5.1. Powiedz „Zwycięża gracz z lewej”. ⠀ 1.5.2. Zatrzymaj wszystko.
Ważne!
Możesz dostosować rozmiar duszka - piłki, aby wpływał na przebieg gry. Wystarczy zmienić wartość w polu Rozmiar, które znajduje się pod sceną. Zwiększając rozmiar piłki, zwiększasz obszar wykrywania zderzeń, co może sprawić grę łatwiejszą. Zmniejszając rozmiar piłki, zmniejszasz ten obszar, co może wpłynąć na większe wyzwanie i trudność gry. Możesz dostosować rozmiar piłki do swoich potrzeb, aby cieszyć się grą w sposób, który najbardziej ci odpowiada.
Zauważ, że tym razem nie można było wprowadzić jednego bloku jeżeli … tom816be4739d971e52_d972e454jeżeli … to i zastosować sprawdzenie podwójnego warunku, ponieważ oddzielnie należy obsłużyć sytuację wygranej każdego z graczy.
Zdjęcie . Blok jeżeli to.
Na zdjęciu przedstawiono animowany blok algorytmu jeżeli to. Blok jest w kształcie odwróconej litery U. W pustej przestrzeni jest miejsce na kolejne bloki algorytmów które są realizowane po spełnieniu warunku. W bloku algorytmu znajduje się napis: jeżeli to. Między słowami jeżeli to jest puste miejsce do uzupełnienia.
Zdjęcie . Przykładowy algorytm z blokiem jeżeli to.
Na zdjęciu przedstawiono animowany blok przykładowego zadania z blokiem warunkowym jeżeli to. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis: zawsze. W przestrzeni bloku znajdują się bloki zadań W pierwszy bloku zadania widoczny jest napis: następny kostium. W drugim bloku zadania znajduje się napis: czekaj dwie dziesiąte sekund. W trzecim bloku zadań znajduje się napis: jeśli klawisz spacja naciśnięty? to. Słowo spacja jest w polu wyboru. W czwartym bloku zadania znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Przykładowy skrypt, realizujący zaktualizowany algorytm opisany we wskazówce:
RkccZ2y0iepqc
Na zdjęciu przedstawiono przykład animowanego skryptu. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu znajduje się tekst: ustaw kierunek na losuj liczbę od zera do trzystu sześćdziesięciu. W czwartym bloku algorytmu znajduje się blok zadania. W bloku widoczny jest napis: zawsze. W przestrzeni bloku znajdują się bloki zadań w których są trzy bloki warunkowe, jeżeli W pierwszy bloku zadania widoczny jest napis: przesuń o pięć kroków. W drugim bloku zadania znajduje się napis: jeżeli na brzegu, odbij się. W trzecim bloku zadania znajduje się napis: jeżeli dotyka lewa? lub dotyka prawa ? to. Słowa lewa i prawa znajdują się w polach wyboru. W czwartym bloku zadania znajduje się napis: ustaw kierunek na minus jeden razy kierunek. Słowo kierunek jest w polu wyboru. W piątym bloku zadania znajduje się napis: jeżeli pozycja iks mniejsza od minus dwustu dwudziestu to. W szóstym bloku zadania znajduje się napis: powiedz zwycięża gracz z prawej przez dwie sekundy. W siódmym bloku zadania znajduje się napis: zatrzymaj wszystko. Słowo: wszystko jest w polu wyboru. W ósmym bloku zadania znajduje się napis: jeżeli pozycja iks większa od dwustu dwudziestu to. W dziewiątym bloku zadania znajduje się napis: powiedz zwycięża gracz z lewej przez dwie sekundy. W dziesiątym bloku zadania znajduje się napis: zatrzymaj wszystko. Słowo: wszystko jest w polu wyboru. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Przykładowy skrypt uwzględniający położenie piłeczki.
Źródło: GroMar, licencja: CC BY 3.0.
RnImu5pAejrgu
Ćwiczenie 20
Jakiego bloku użyć, jeżeli chcesz żeby duszek wyświetlał tekst przez określony czas? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e350
RKYkvMOzvpKco
Klocek: zawsze
Blok "zawsze" z kategorii "Kontrola".
Źródło: GroMar, licencja: CC BY 3.0.
Bloczek powoduje powtarzanie zestawu instrukcji w nieskończoność. Zatrzymanie nastąpi po naciśnięciu przycisku stop, wykonaniu bloku zatrzymaj wszystko lub zatrzymaj inne skrypty duszka w innych skryptach. Jeśli skrypt z bloczkiem zawsze ma się zatrzymać sam, należy w jego wnętrzu użyć instrukcji warunkowej jeżeli i bloku zatrzymaj ten skrypt.
Przykład:
RtSeKA7XgZAsH
Skrypt do zadania
Przykładowy skrypt.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e369
RM1GXdsuwwON4
Klocek: ustaw kierunek na 90
Blok kategorii "Ruch" - "ustaw kierunek na ...".
Źródło: GroMar, licencja: CC BY 3.0.
Ustawia duszka zgodnie z podanym kierunkiem. Po kliknięciu w pole do wstawiania wartości, pojawia się tarcza umożliwiająca ustawienie wskazówki na wybraną liczbę z przedziału od 0 do 180 i 0 do -180. Można również ręcznie wpisać określony kąt wyrażony w stopniach.
Przykład:
R4k4U6mDk1SeK
Skrypt realizujący ustawienie duszka na określony kierunek
Skrypt realizujący ustawienie duszka na określony kierunek.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e378
R9gU1mZ85KNMH
Klocek losuj od 1 do 10
Blok wyrażenia "losuj liczbę od ... do ...".
Źródło: GroMar, licencja: CC BY 3.0.
Wartością jest losowa liczba całkowita z podanego zakresu.
Przykład:
R14gv5uDCygEy
Skrypt realizujący wybór losowej liczby z podanego zakresu
Skrypt realizujący wybór losowej liczby z podanego zakresu.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e412
ROlVpvHhepcxA
Klocek: jeżeli na brzegu, odbij się
Blok kategorii "Ruch" - "jeżeli na brzegu, odbij się".
Źródło: GroMar, licencja: CC BY 3.0.
Zmienia kierunek na przeciwny, jeśli duszek dotyka krawędzi sceny.
Przykład:
RR0gILFOVZTz7
Skrypt realizujący powtarzanie instrukcji
Skrypt realizujący powtarzanie instrukcji.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e424
R14xgtK1eQdNg
Klocek: kierunek
Blok zmiennej "kierunek" z kategorii "Ruch".
Źródło: GroMar, licencja: CC BY 3.0.
Wartością jest aktualny kierunek duszka. Włączenie znacznika po lewej stronie powoduje wyświetlanie aktualnego kierunku na scenie. Przyjmuje wartości od -180 do 180 stopni.
Przykład:
RwkGCIIFmO8MA
Skrypt z wykorzystaniem klocka: kierunek
Skrypt z wykorzystaniem klocka: kierunek.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e454
R1PfoY7UTI0pC
Klocek: jeżeli ... to
Blok programu Scratch "jeżeli ... to" kategorii "Kontrola".
Źródło: GroMar, licencja: CC BY 3.0.
Bloczek instrukcji warunkowej wykona raz zestaw instrukcji, jeżeli warunek logiczny wstawiony po słowie jeżeli jest prawdziwy. Warunki budujemy z bloczków kategorii Czujniki i Wyrażenia.
Przykład:
RGcmJsMaG1cru
Skrypt realizujący instrukcję warunkową
Skrypt realizujący instrukcję warunkową.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e464
R10BAsVL24EZg
Klocek: dotyka ... ?
Blok programu Scratch "dotyka .... ?" kategorii "Czujniki".
Źródło: GroMar, licencja: CC BY 3.0.
Czujnik sprawdza, czy duszek dotyka elementu wybranego z listy rozwijalnej. Może to być inny duszek, kursor myszy lub krawędź sceny.
Przykład: Skrypt dla duszka psa.
RuI1zFNF2I6Vl
Skrypt do zadania
Skrypt z wykorzystaniem bloku "dotyka ... ?".
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e474
RgEzjXVadW3PC
Bloczki: operatory logiczne i, lub, nie
Bloczki: operatory logiczne "i", "lub", "nie".
Źródło: GroMar, licencja: CC BY 3.0.
Bloczki służące do budowania złożonych wyrażeń logicznych (i (koniunkcja) – obydwa warunki są prawdziwe, lub (alternatywa) – jeden z warunków jest prawdziwy, nie (negacja) – zaprzeczenie). W puste pola należy wstawić pasujące bloczki, które przyjmują wartości logiczne (prawda lub fałsz). Bloczki są wykorzystywane najczęściej w instrukcjach jeżeli, powtarzaj aż, czekaj aż.
Przykład:
RzvJ6XtgwUrxo
Skrypt realizujący instrukcję warunkową
Skrypt realizujący instrukcję warunkową.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d5e1098
Zmieniamy reguły gry - wprowadzamy punkty
W grach tego typu zabawa nie kończy się przy pierwszym potknięciu. Zlicza się punkty, aż ktoś osiągnie określony wynik. Na przykład możesz wprowadzić zasadę, że wygrywa ten, kto pierwszy zdobędzie 3 punkty. Punkt jest przyznawany za każdym razem, gdy przeciwnik nie odbije piłki.
Realizacja powyższego scenariusza wymaga przechowania informacji o liczbie punktów, czyli danej. Dane mogą być przechowywane przez program w zmiennych. W uproszczeniu zmienna to skrytka (szufladka), w której chowa się na przykład liczbę. Program może do niej zajrzeć i sprawdzić, jaka jest wartość zmiennej (przechowywana liczba). Wolno także zmieniać tę wartość - na przykład dodać do niej inną liczbę.
2
Polecenie 3
Stwórz dwie zmienne i nazwij je Licznik prawy oraz Licznik lewy. Żeby stworzyć zmienne, należy przejść do kategorii Dane. Zmienne powinny być dostępne dla wszystkich duszków.
RJYqWjt27TRAb
Film: Tworzenie zmiennej
Film: Tworzenie zmiennej
Tworzenie zmiennej w Scratch.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Źródło: Janusz Wierzbicki, Maciej Borowiecki, licencja: CC BY 3.0.
Film: Tworzenie zmiennej
3
Ćwiczenie 21
Zastanów się, w jaki sposób można zmodyfikować algorytm działania piłeczki, żeby wprowadzić opisane wyżej zasady, korzystając z utworzonych zmiennych.
Następnie wprowadź zmiany w skrypcie i sprawdź, czy gra działa zgodnie ze zmienionymi założeniami.
RXxs1tnoKSj64
Źródło: GroMar, licencja: CC BY 3.0.
Należy uwzględnić wyzerowanie liczników punktów na początku każdej rozgrywki. Zamiast wyświetlać napis dotyczący wygranej, należy zwiększyć odpowiednio licznik punktów, a następnie zbadać, czy nie osiągnął wartości określającej zwycięstwo. Jeżeli osiągnął, należy wyświetlić informację o wygranej - jeśli nie - kontynuować rozgrywkę np. od środka sceny.
Przykładowa modyfikacja może wyglądać następująco:
Kiedy kliknięto zieloną flagę:
Idź do x: 0 i y:0.
Ustaw zmienną Licznik prawy na 0.
Ustaw zmienną Licznik lewy na 0.
Ustaw kierunek na wylosowaną wartość z zakresu 0 do 360 stopni.
Zawsze: 5.1. Przesuń o kroków. 5.2. Jeżeli na brzegu, odbij się. 5.3. Jeżeli dotyka lewej paletki lub dotyka prawej paletki to: ⠀ 5.3.1. Ustaw kierunek na 5.4. Jeżeli wartość x piłki < wartość x lewej paletki to: ⠀ 5.4.1. Zwiększ wartość zmiennej Licznik prawy o 1. ⠀ 5.4.2. Jeżeli Licznik prawy = 3 to: ⠀ ⠀ ⠀ 5.4.2.1. Powiedz „Zwycięża gracz z prawej”. ⠀ ⠀ ⠀ 5.4.2.2. Zatrzymaj wszystko. ⠀ 5.4.3. Idź do x: 0 i y:0. 5.5. Jeżeli wartość x piłki > wartość x prawej paletki to: ⠀ 5.5.1. Zwiększ wartość zmiennej Licznik lewy o 1. ⠀ 5.5.2. Jeżeli Licznik lewy = 3 to: ⠀ ⠀ ⠀ 5.5.2.1. Powiedz „Zwycięża gracz z lewej”. ⠀ ⠀ ⠀ 5.5.2.2. Zatrzymaj wszystko. ⠀ 5.5.3. Idź do x: 0 i y: 0.
Przykładowy skrypt:
Rr6einoHSmlDG
Na zdjęciu przedstawiono przykład animowanego skryptu. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: idź do iks: zero igrek: zero. W trzecim bloku algorytmu znajduje się tekst: ustaw kierunek na losuj liczbę od zera do trzystu sześćdziesięciu. W czwartym bloku algorytmu znajduje się napis: ustaw licznik lewy na zero. Napis licznik lewy jest w polu wyboru. W piątym bloku algorytmu znajduje się napis: ustaw licznik prawy na zero. Napis licznik prawy jest w polu wyboru. Szósty blok algorytmu jest blokiem zadania. W bloku widoczny jest napis: zawsze. W przestrzeni bloku znajdują się bloki zadań w których są trzy główne bloki warunkowe, jeżeli. Drugi blok warunkowy ma dodatkowy podblok jeżeli. W pierwszy bloku zadania widoczny jest napis: przesuń o pięć kroków. W drugim bloku zadania znajduje się napis: jeżeli na brzegu, odbij się. W trzecim bloku zadania znajduje się napis: jeżeli dotyka lewa? lub dotyka prawa ? to. Słowa lewa i prawa znajdują się w polach wyboru. W czwartym bloku zadania znajduje się napis: ustaw kierunek na minus jeden razy kierunek. Słowo kierunek jest w polu wyboru. W piątym bloku zadania znajduje się napis: jeżeli pozycja iks mniejsza od minus dwustu dwudziestu to. W szóstym bloku zadania znajduje się napis: zmień licznik prawy o jeden. Słowa licznik prawy są w polu wyboru. W siódmym bloku będącym podblokiem szóstego znajduje się napis: jeżeli licznik prawy równa się trzy to. W ósmym bloku zadania znajduje się napis: powiedz zwycięża gracz z prawej przez dwie sekundy. W dziewiątym bloku zadania znajduje się napis: zatrzymaj wszystko. Słowo: wszystko jest w polu wyboru. W dziesiątym bloku zadania będącym poza wcześniejszą pętlą, znajduje się napis: idź do iks: zero igrek: zero. W jedenastym bloku zadania znajduje się napis: jeżeli pozycja iks większa od dwustu dwudziestu to. W dwunastym bloku zadania znajduje się napis: powiedz zwycięża gracz z lewej przez dwie sekundy. W trzynastym bloku zadania znajduje się napis: zatrzymaj wszystko. Słowo: wszystko jest w polu wyboru. W czternastym bloku zadania znajduje się napis: idź do iks: zero igrek: zero. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę.
Przykładowy algorytm skrypt z warunkami.
Źródło: GroMar, licencja: CC BY 3.0.
R1ROaPqVRSqC3
Ćwiczenie 21
Jakim blokiem zmienisz wartość wcześniej utworzonej zmiennej na określoną przez ciebie wartość? Wybierz poprawną odpowiedź.
Test jednokrotnego wyboru.
Źródło: GroMar, licencja: CC BY 3.0.
Zadania uzupełniające
Polecenie 4
Losowanie początkowego kierunku ruchu piłeczki z zakresu od do 360 powoduje, że przy wylosowaniu wartości 0, 90, 180, 270 lub bliskich im gra staje się nudna bądź niemożliwa. Zastanów się, jakie zmiany wprowadzić, by wylosowany kierunek ograniczyć do wartości, które zapewnią ruch piłeczki bezpośrednio w stronę lewej lub prawej krawędzi. Następnie wprowadź zmiany w swoich skryptach i przetestuj działanie.
Polecenie 5
W rzeczywistości, na kąt odbicia wpływa np. ruch paletki i jej ustawienie względem piłki. Aby utrudnić przeciwnikowi przewidywanie, w jaki sposób piłeczka zostanie odbita, dodaj np. element losowości. Obliczony kąt odbicia zmodyfikuj dodając liczbę wylosowaną z zakresu -10 do 10.
Polecenie 6
Dodaj dwa nowe tła sceny, po jednym dla wygranej lewego i prawego gracza. Następnie zmodyfikuj skrypty w taki sposób, by zamiast informacji w komiksowym dymku wyświetlone zostało odpowiednie tło z informacją (tekstową lub obrazkową), kto zwyciężył.
Wskazówka
Tło sceny możesz przygotować korzystając z wbudowanego w środowisko Scratch edytora graficznego. Jednak jeśli chcesz dodać napisy, wygodniej będzie je stworzyć w zewnętrznym edytorze. Pamiętaj, że tło powinno mieć wymiar dokładnie 480 na 360 pikseli.
Może się zdarzać, że podczas gry piłeczka „przykleja” się do paletki. Sytuacja ma miejsce, jeśli po zmianie kierunku ruchu i kolejnym przesunięciu piłeczka nadal dotyka paletki. Spróbuj znaleźć rozwiązanie. Rozważ na przykład wykorzystanie pętli powtarzaj aż …m816be4739d971e52_d972e566powtarzaj aż … .
Zdjęcie . Blok powtarzaj aż.
Na zdjęciu przedstawiono animowany blok algorytmu powtarzaj aż. Blok jest w kształcie odwróconej litery U. W pustej przestrzeni jest miejsce na kolejne bloki algorytmów, które są realizowane po spełnieniu warunku. W bloku algorytmu znajduje się napis: powtarzaj aż. Za słowami: powtarzaj aż, jest puste miejsce do uzupełnienia.
Zdjęcie . Przykładowy algorytm zadania z blokiem powtarzaj aż.
Na zdjęciu przedstawiono animowany blok przykładowego zadania z blokiem powtarzaj aż. W pierwszym bloku algorytmu znajduje się napis: kiedy kliknięto. Za napisem widoczna jest zielona flaga. W drugim bloku algorytmu znajduje się napis: powtarzaj aż dotyka krawędź? Słowo krawędź jest w polu wyboru. Wewnątrz bloku powtarzaj aż są trzy bloki zadań. W pierwszym bloku znajduje się napis: przesuń o trzy kroków. W drugim bloku powtarzania znajduje się napis: następny kostium. W trzecim bloku powtarzania znajduje się napis: czekaj trzy dziesiąte sekund. Na dole bloku zadania narysowana jest biała strzałka, której grot zwrócony jest w górę. Pod blokiem powtarzania w trzecim bloku skryptu algorytmu znajduje się napis: zatrzymaj ten skrypt. Słowo ten skrypt jest w polu wyboru.
m816be4739d971e52_d972e566
R1OFGq7aIThOw
Klocek: powtarzaj aż
Blok kontroli "powtarzaj aż ...".
Źródło: GroMar, licencja: CC BY 3.0.
Blok powtarza zestaw poleceń aż do spełnienia warunku logicznego. Warunki budujemy z bloków kategorii Czujniki i Wyrażenia.
Przykład:
RGSyBG0CzEuLS
Skrypt do zadania
Przykładowy skrypt.
Źródło: GroMar, licencja: CC BY 3.0.
m816be4739d971e52_d972e567
R1ce58dFcByPb
Grafika przedstawia obszar roboczy zakładki "Kostiumy" z duszkiem - kotem i wyróżnionym punktem zaczepienia.
Punkt zaczepienia w zakładce "Kostiumy".
Źródło: GroMar, licencja: CC BY 3.0.
Punkt zaczepienia jest punktem, który umożliwia programowi Scratch określenie położenia duszka. Jest to przydatne np. w sytuacji, gdy duszek ma się odbić od ściany. Ustawienie punktu przyczepienia w takim przypadku na rękę kotka pozwoli na wykrycie zderzenia w momencie, gdy ręka dotknie krawędzi okna.
pozycja_x_i_pozycja_y
RSYoyvosY4YKm
Grafika przedstawia fragment okna Scratch z zakładki "Ruch" z widocznymi zmiennymi "pozycja x", "pozycja y" i "kierunek".
Dostępne zmienne w Scratch w kategorii "Ruch".
Źródło: GroMar, licencja: CC BY 3.0.
Po zaznaczeniu pola, wartości zaznaczonych zmiennych będą widoczne na scenie aplikacji Scratch.
RvcEXVzK4jn8y
Grafika przedstawia fragment sceny Scratch z widocznymi wartościami zmiennymi "pozycja x" i "pozycja y" przedstawiających współrzędne duszka.
Wartości zmiennych "pozycja x" i "pozycja y" wyświetlane na scenie Scratch.