W poprzedniej lekcji poznałeś podstawy tworzenia własnej gry w Scratchu: ruchy duszka, zmiana kostiumów, sterowanie myszką i animacja.
Dzisiaj rozwiniesz ten projekt i zbudujesz pierwszą działającą mechanikę gry. Będziesz pracować na przygotowanym projekcie „Virus Fighter”, w którym strzykawka porusza się za wskaźnikiem myszy, a Twoim zadaniem będzie dodanie pojawiających się przeciwników i reakcji na kolizje.

Do lekcji możesz wykorzystać blokowy kod widoczny poniżej:


1. Przygotowanie projektu

W projekcie znajduje się już:

  • duszek strzykawka,
  • duszki wirusów (niebieski i żółty),
  • tło kosmiczne,
  • zmienne, które możesz wykorzystać do liczenia punktów lub czasu.

Strzykawka została zaprogramowana tak, aby:

  • obracała się w stronę wskaźnika myszy,
  • animowała kostium,
  • przesuwała się płynnie w kierunku myszki.

Przyjrzyj się uważnie jego skryptowi, ponieważ na jego podstawie będziesz tworzyć zachowanie wirusów.


2. Dodawanie ruchu przeciwnika (wirusów)

Teraz czas na ruch dla wirusów. Chodzi o to, aby pojawiały się losowo i zbliżały się w Twoją stronę.

Krok 1: ustaw startową pozycję

Dodaj do wirusa:

  • idź do pozycji x: losowa liczba od –220 do 220,
  • y: 180 (czyli pojawia się u góry ekranu).

Krok 2: ustaw kierunek w stronę strzykawki

Wykorzystaj blok:

„ustaw w kierunku [strzykawka]”

Krok 3: wykonuj ruch w pętli

Dodaj:

zawsze → przesuń o 3 kroków

lub:

zawsze → leć przez 0.5 sek do x: x strzykawki, y: y strzykawki

Możesz wybrać wersję prostszą lub bardziej płynną.


3. Tworzenie mechaniki kolizji

Teraz gra zacznie reagować na to, co się dzieje na ekranie.

Kolizja: wirus dotyka strzykawki

Dodaj:

jeżeli dotyka [strzykawka] 
  zmień „punkty” o –1
  graj dźwięk „pop”
  ustaw nową pozycję startową

Możesz wykorzystać tę logikę:

  • wirus „uderza” w gracza,
  • gracz traci punkt,
  • wirus wraca na losową pozycję na górze.

4. Tworzenie kolizji strzykawki z wirusem (strzelanie)

Dodaj do strzykawki nowy mechanizm: strzelanie.

Możesz to zrobić na dwa sposoby:

Sposób 1 (łatwy): naciskasz spację i tworzysz klon „szczepionki”

Dla duszka „szczepionka” dodaj:

kiedy klawisz [spacja] naciśnięty
stwórz klona siebie

A dla klona:

kiedy zaczynam jako klon
idź do strzykawka
ustaw kierunek na kierunek strzykawki
zawsze
  przesuń o 10 kroków
  jeżeli dotyka [wirusY] albo [wirusB]
        dodaj 1 do „punkty”
        usuń tego klona
        ustaw nową pozycję wirusa
  jeżeli na brzegu
        usuń klona


5. Dodanie licznika czasu (opcjonalnie)

Możesz dodać zmienną:

czas

I uruchomić odliczanie:

ustaw czas na 30
zawsze
  czekaj 1 sekundę
  zmień czas o -1
  jeżeli czas = 0
        stop [wszystko]

Dzięki temu gra może trwać 30 sekund – idealne do prostego rankingu.


6. Podsumowanie mechanik, które dziś zbudowałeś

W tej lekcji:

  • rozwinąłeś sterowanie strzykawką,
  • zaprogramowałeś ruch przeciwników,
  • wykorzystałeś pętlę „zawsze”,
  • użyłeś warunków i detekcji kolizji,
  • dodałeś punkty, utratę punktów i odradzanie przeciwników,
  • wprowadziłeś opcję strzelania do wirusów,
  • dodałeś czas gry lub licznik.

Twój projekt jest teraz prawdziwą grą akcji.


7. Zadania do wykonania samodzielnie

Możesz rozbudować grę:

  1. Dodaj różne prędkości dla żółtych i niebieskich wirusów.
  2. Spraw, aby co 10 sekund wirusy przyspieszały.
  3. Dodaj pasek zdrowia zamiast liczby punktów.
  4. Zrób efekt „trzęsienia ekranu”, gdy wirus dotknie strzykawki.
  5. Dodaj ekran końcowy: „Wygrana” lub „Koniec gry”.