21. Budowa Gry Scratch „Zestrzel balony” – część 2

21. Budowa Gry Scratch „Zestrzel balony” – część 2

with Brak komentarzy

Cześć to znowu ja OLMO;)

Dzisiaj kończymy opis naszej gry. Grałeś Gra Scratch – Zestrzel balony ?

 

W pierwszej części 20. Gra Scratch – „Zestrzel balony” – część 1 opisałem planszę do gry oraz naszych bohaterów. Dzisiaj pokażę Wam nasze skrypty.

 

Mam nadzieję, że Sami jakieś już zbudowaliście i będziemy mogli porównać. Pamiętaj, że jeśli gra działa tak jak Ty chcesz, a zrobiłeś ją inaczej to super.

Istnieje wiele rozwiązań tego samej gry.

 

Jeśli nasze rozwiązanie wyda Ci się ciekawe, możesz go użyć, a najlepiej zastanowić się czym różni się od Waszego i sami zdecydujcie, które rozwiązanie jest dla Was lepsze.

 

Co może znaczyć lepsze:

      • krótsze bloczki
      • bloczek w innym miejscu
      • wykorzystanie bloczków, które lepiej rozumiecie
      • rozwiązuje Wasz problem
      • rozwiązanie jest bardziej zrozumiałe

 

 

Jeśli macie jakieś jeszcze inne pomysły, które mogłyby pomóc w określeniu, które rozwiązanie zastosować to się pochwalcie.

 

Po tym przy długim wstępie przechodzę do sedna naszego wpisu.

 

Skrypty

 

Skrypty zostały dodane do naszych duszków. Scena nie zawiera żadnych skryptów, nie będziemy więc jej w tej części wpisu opisywać.

 

Każda gra lub program w Scratch zaczyna się wykonywać od zdarzenia Kiedy zielona flaga kliknięta. Jest to pierwszy skrypt jaki się wykonuje. Od niego więc zacznijmy nasze opisywanie działania gry:

 

Kiedy zielona flaga kliknięta

 

Balon

Skrypt Balon kiedy zielona flaga kliknięta

Celownik

Skrypt Celownik Kiedy zielona flaga kliknięta

Tucan

Skrypt Tucan Kiedy zielona flaga kliknięta


Zgadnijcie jakie kolejne zdarzenie będzie wykonywane. Wiecie już?

Przeanalizujmy razem wszystkie skrypty po kolei.

 

Częścią wspólną dla wszystkich duszków jest to, że zaczynamy jako ukryty.

 

Duszek Tucan nie ma nawet nic więcej w tym zdarzeniu.

Duszek Balon po ukryciu nadaje komunikat Start.

Duszek Celownik:

      • ukrywa duszka,
      • ustawia zmienne: punkty oraz życia,
      • przesuwa duszka na wierzch, by ten duszek był najbliżej nas,
      • nadaje komunikat Start

 

Na zakończenie grupy bloczków, aby ich nie urywać wstawiany jest bloczek zatrzymaj ten skrypt. Zatrzymuje on tę grupę bloczków, nie zatrzymuje on innych zdarzeń danego duszka.

 

Zauważyliście, że zarówno duszek balon jak i celownik nadają komunikat Start. Oczywiście tutaj, nie jest potrzebne wywoływanie tego w obu miejscach. Komunikat Start jest widoczny, czyli może być odebrany przez wszystkie duszki i scenę, więc wystarczy by był wywołany raz w dowolnym miejscu.

 

Zostawiam, tak jak opublikowaliśmy z naszymi niepotrzebnymi rzeczami, bo tak jest w projektach. Wy możecie poprawić 😉

Kolejnym więc zdarzeniem jakie zostanie wykonane to zdarzenie Start.

 

Zdarzenie Start

 

Kiedy otrzymam Start – kiedy przechwycony zostanie komunikat Start ten skrypt zaczyna działać.

To zdarzenie odbierane jest również przez wszystkie duszki.

Co tutaj będziemy wykonywać?

      • duszki zostały wcześniej ukryte będziemy tutaj je pokazywać,
      • ustawimy sposób poruszania się bohatera, którym będziemy sterować – jest to duszek celownika

 

 

Duszek Balon

 

Skrypt Balon Kiedy otrzymam Start

Ten skrypt:

  • tworzy klona z siebie (czyli tworzy kopię niebieskiego balonik),
  • czeka 2 sekundy
  • ponownie tworzy kolejnego klona - gdyż bloki znajdują się wewnątrz bloczka powtarzaj 3. Ilość równocześnie istniejących klonów balonów to 3 (bo bloczek utwórz klona z siebie znajduje się wewnątrz bloczka powtarzaj 3 razy).
  • Na koniec zatrzymywany jest ten skrypt.

Celownik

Skrypt Celownik Kiedy otrzymam Start
Kiedy duszek celownik otrzyma komunikat Start.

Idzie do wskaźnika myszy, czyli porusza się na ekranie tak jak myszka i znajduje się w tym samym miejscu co ona.

 

Jeżeli kliknięty zostanie prawy klawisz myszy, to sprawdzane jest czy nasz celownik (wskaźnik myszy) :

  • dotyka koloru niebieskiego – jest to kolor naszego Balonu. Jeśli tak to nadawany jest komunikat Trafienie.
  • dotyka duszka Tucan to nadawany jest komunikat Tucan.

 

Aby to sprawdzenie nie odbyło się tylko raz po wywołaniu zdarzenia Start umieszczono te bloczki wewnątrz bloczka zawsze, dzięki temu skrypt ten działa cały czas w trakcie gry.

 

 


Duszek Tucan

Skrypt Tucan Kiedy otrzymam Start

 

Kiedy duszek Tucan otrzyma komunikat Start.

  • Ukrywa się – (niepotrzebnie, bo przecież był ukryty we wcześniejszym zdarzeniu kiedy zielona flaga kliknięta)
  • czeka 5 sekund
  • zawsze, czyli przez cały czas działania gry wykonuje:
    • odczekanie 3 sekund
    • ukrycie - (bloczek potrzebny, gdyż jest wewnątrz bloczka zawsze, który kończy działanie przy duszku pokazanym)
    • przejście do losowej pozycji
    • pokazanie duszka

Jakie następne zdarzenie jest wykonywane:

 

Duszek Balon wykonuje utwórz kolna z siebie

Duszek Celownik wykonuje pod określonymi warunkami zdarzenie Trafienie lub Tucan

Duszek Tucan nie wywołuje tutaj kolejnych zdarzeń.

Duszek balon wykonuje zdarzenie utwórz klona z siebie bez spełnienia dodatkowych warunków, to więc będzie kolejne zdarzenie jakie będzie wykonane.

 

Duszek celownik nie zawiera już żadnych innych zdarzeń (skryptów), pamiętajmy że wywołuje zdarzenia gdy:

      • dotknie balonu, czyli koloru niebieskiego w naszym przypadku
      • dotknie duszka Tucan

 

 

Kiedy zaczynam jako klon

 

Po wywołaniu zdarzenie utwórz klona z siebie wykonywane jest zdarzenie kiedy zaczynam jako klon. To zdarzenie wykonywane jest na duszku balon, bo ten duszek je wywołał.

 

Skrypt Balon Gdy zaczynam jako klon

 

Klon zaczyna jako ukryty i nie widoczny.

Czeka on od 0 do 2 sekundy w zależności od wylosowanej ilości sekund – można ustawić dokładnie określoną liczbę sekund.

(My chcieliśmy dodać elementy mniej przewidywalne dlatego zastosowaliśmy losowanie.

Jeśli bloczek jest mało zrozumiały wpiszcie zamiast bloczka losowania liczbę sekund 0, 1, 2 lub inną.)

 

Wybierana jest losowa pozycja dla balona i nasz niewidoczny balon się na niej ustawia.

Ustawiany jest rozmiar, by balony były różnej wielkości – ponownie otrzymaliśmy to dzięki bloczka losowania od rozmiaru 10% do rozmiaru 35% - możecie pominąć w ogóle ten bloczek, balony wówczas będą tej samej wielkości. Stały rozmiar można ustawić przy duszku pod sceną.

 

Jeżeli wylosowana pozycja duszka jest w zakresie -120 +120 wysokości (pamiętacie, że dolna krawędź planszy jest na wysokości – 180, a górna +180), aby cały balon był widoczny założyliśmy, że środek naszego duszka powinien być nie bliżej niż 60 kroków od krawędzi dolnej lub górnej.

Jeżeli duszek pojawi się za blisko krawędzi górnej lub dolnej planszy, duszek nie jest pokazywany i wewnętrzna część bloczka zawsze zostanie ponownie wykonana.

 

Jeżeli nasz duszek balon jest w odpowiednim miejscu na scenie to pokazujemy nasz balonik i czekamy kilka sekund – u nas od 2 do 4 w zależności od wylosowanej liczby.

Po zakończeniu wykonania skryptu wnętrze bloczka zawsze wykonywane jest ponownie.

Skrypt ten działa więc ciągle do zatrzymania go przez inny bloczek tj. (zatrzymaj wszystko, zatrzymaj inne skrypty duszka, usuń klona)

 

 

Zdarzenie Trafienie

Skrypt Balon Kiedy otrzymam Trafienie

Kiedy otrzymam Trafienie wywołane jest przez duszka Celownik, a obsługiwane przez duszka Balon.

Zdarzenie to znajduje się więc przy skryptach duszka Balon.

 

Jak działa ten bloczek?

Na początku następuje sprawdzenie czy nasz duszek Balon dotyka duszka Celownik, jeśli tak to:

    • balon znika (by w niego już nie klikać)
    • dodawany jest punkt
    • wstrzymanie dalszego wykonania dla tego duszka (dokładnie klona, bo balon pokazuje tylko klony) na 5 sekund

Na końcu zawsze skrypt jest zamknięty bloczkiem zatrzymaj ten skrypt.

 

Czy domyślacie się co się dzieje po ukryciu duszka i zatrzymaniu tego skryptu? Wiecie już?

Pamiętacie, że bloczek zawsze jest główną częścią programu. Gdzie jest ten bloczek dla tego duszka?

Tak w skrypcie Kiedy zaczynam jako klon, więc po ukryciu ten bloczek działa dalej, czyli losuje miejsce i pokazuje ponownie w innym miejscu.

Myślę, że poradziliście z tym sobie, zostało nam jeszcze opisanie zdarzenie Tucan.


Zdarzenie Tucan

Skrypt Tucan Kiedy otrzymam Tucan

Kiedy otrzymam Tucan wywoływane jest również przez duszka Celownik, zajrzyjcie tam by sprawdzić.

Skrypt znajduje się w duszku Tucan i dotyczy opisu co ma się wydarzyć, gdy nasz Celownik dotknie naszego ptaszka.

Opis działania bloczków:

Zmniejszamy ilość dostępnych żyć o 1 i ukrywamy naszego duszka (by nie dotknąć go ponownie).

 

Jeżeli nie mamy już „żyć” czyli nasza zmienna życia = 0 to kończymy grę. Najpierw informujemy i zatrzymujemy działanie programu.

Należy więc unikać klikania w naszego Tucana, bo zabiera on nam życia, a klikajmy w jak największą ilość balonów.


No i w ten sposób opisaliśmy wszystkie elementy naszej gry.

Podsumowanie skryptów

 

Zbiorę poniżej duszki i nazwy skryptów jakie zawierają:

Balon:

  • Kiedy kliknięto zieloną flagę
  • Kiedy otrzymam Start
  • Kiedy zaczynam jako klon
  • Kiedy otrzymam Trafienie

Celownik:

  • Kiedy zielona flaga kliknięta
  • Kiedy otrzymam Start

Tucan:

  • Kiedy zielona flaga kliknięta
  • Kiedy otrzymam Start
  • Kiedy otrzymam Trafienie

 

Hura, kolejna gra zakończona, mam nadzieję, że będziecie w nią grali ze swoimi kolegami i koleżankami, a może i z rodzicami.

A może pokażecie Babci i Dziadkowi, co już umiecie 😉

 

W następnym wpisie zrobimy tę grę na Lego BOOST i będziemy nią sterować nie przez myszkę tylko przez HUB-a.

Do zobaczenia i przygotujcie swoje zestawy Lego BOOST jeśli macie.

Jeśli nie macie, to się nie martwcie, po opisie tej gry w wersji na BOOST zbudujemy wersję 2.0 tej gry.

 

Lew OLMO 😉

Zostaw odpowiedź