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:
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 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:
[columns] [span4]
Balon

[/span4][span4]
Celownik

[/span4][span4]
Tucan

[/span4][/columns]
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:
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.
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ć?

Ten skrypt:

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) :
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.

Kiedy duszek Tucan otrzyma komunikat Start.
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:
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ł.

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)

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:
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.

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.
Zbiorę poniżej duszki i nazwy skryptów jakie zawierają:
Balon:
Celownik:
Tucan:
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.