Hej! Witajcie w kolejnej części naszej serii „Robimy naszą pierwszą grę„. Dzisiaj dodajemy przeciwnika! Bo przeciwnik to zawsze niezłe wyzwanie dla graczy. 😉

W naszej grze, którą wymyśliła moja córka tym przeciwnikiem jest tzw. Czarnodzielnik (zły czarodziej). Przeciwnik sprawi, że gra będzie bardziej emocjonująca, ponieważ będzie utrudniał zebranie jabłek i zdobycie klucza. Gotowi? Zaczynamy!
W tym wpisie dowiemy się czym jest komunikat i jak go nadawać oraz odbierać. Będziemy używać bloczków z kategorii „Zmienne”, „Zdarzenia”, „Kontrola”, „Czujniki”, „Ruch” i „Dźwięk” w narzędziu Scratch. Jeśli nie wiesz, czym jest Scratch koniecznie cofnij się do moich wpisów Jak zacząć programowanie w Scratch oraz Rejestracja w Scratch krok po kroku.






Podsumowanie dotychczasowych etapów
Nasza gra ma już sterowanie kotkiem, jabłka do zbierania i licznik punktów. Teraz czas na przeciwnika – duszka, który wprowadzi element rywalizacji i utrudni graczowi ukończenie labiryntu.
Cały proces powstawania gry do tego momentu znajdziecie w serii: Robimy grę.
Dodajemy przeciwnika – cel dzisiejszego wpisu
Naszym celem jest:
- Stworzenie duszka Czarnodzielnika.
- Zaprogramowanie jego ruchu (np. poruszanie się po wyznaczonej trasie lub podążanie za kotkiem).
- Ustalenie, co się stanie, gdy kotek spotka przeciwnika (np. utrata punktu lub powrót na start).

Dodajemy przeciwnika – krok po kroku
Jeśli śledzicie naszą serię od początku, to na pewno już macie Czarnodzielnika dodanego. 😉 Robiliśmy to w tym wpisie: Robimy naszą pierwszą grę, cz. 10, czyli nasze grafiki do gry i dlaczego nazywamy je duszkami? Ale poniższe kroki będą taką szybką przypominajką.
Grafikę naszego Czarnodzielnika możesz pobrać klikając na poniższy przycisk:
1. Dodanie duszka Czarnodzielnika
- Wybieramy opcję „Wczytaj duszka” i wybieramy obrazek przeciwnika (lub używamy własnej grafiki). Może to być np. groźny cień lub czarna dziura.

- Możemy nazwać duszka „czarnodzielnik” dla lepszej organizacji.

2. Zaprogramowanie ruchu przeciwnika
Przeciwnik może poruszać się na dwa sposoby:
Ruch po ustalonej trasie:
- Otwieramy zakładkę „Skrypty” dla duszka Czarnodzielnika.
- Wybieramy blok „Kiedy kliknięto [zielona flaga]”.
- Ustawiamy Czarnodzielnika na początku jego trasy bloczkiem „Idź do x … y …”
- Dodajemy pętlę „zawsze”, aby przeciwnik cały czas się poruszał.
- Wstawiamy bloki „leć przez … sekund do … x … y”, aby zaprogramować jego trasę wzdłuż korytarzy labiryntu.
- Możemy wrócić nim na początek trasy dodając bloczek „ustaw kierunek na …” oraz „leć przez … sekund do … x … y” i w ten sposób Czarnodzielnik będzie krążył po labiryncie.

Podążanie za kotkiem:
- Wstawiamy blok „leć przez … sekund w kierunku [kot]”.
- W ten sposób Czarnodzielnik będzie gonił naszego bohatera.
- Możemy dodać warunek „jeśli odległość do [kot] jest mniejsza niż …”, aby spowolnić lub zatrzymać go, jeśli kotek jest daleko.
- Tylko wtedy Czarnodzielnik będzie przechodził przez ściany labiryntu, więc będzie bardzo potężnym Czarnodzielnikiem! 😄

3. Reakcja na kontakt z kotkiem
Teraz musimy określić, co się stanie, gdy kotek spotka Czarnodzielnika:
- Dodajemy warunek „jeśli [dotyka kot]”.
- Wewnątrz umieszczamy akcję, np.:
- „zmień Punkty o -1” (utrata punktu),
- zresetuj pozycję kota z wykorzystaniem bloczków „nadaj komunikat …” (przeciwnik wysyła komunikat i informuje tym samym kota co ma zrobić, bo w kodzie kota odbieramy ten komunikat i zlecamy wykonanie np. powrotu na pozycję startową), komunikaty znajdziecie w sekcji „Zdarzenia”, żeby nadać komunikat o wybranej przez nas nazwie trzeba go stworzyć rozwijając listę w bloczku „nadaj komunikat …”
- „zagraj dźwięk [błąd]” (sygnał dźwiękowy).

Przykładowy skrypt dla przeciwnika:

4. Testowanie ruchu przeciwnika i zachowania po kontakcie
Po dodaniu skryptów warto przetestować grę:
- Czy przeciwnik porusza się zgodnie z trasą lub podąża za kotkiem?
- Czy po kontakcie z kotkiem wykonuje zaprogramowaną akcję?
- Czy poziom trudności jest odpowiedni?
Ja zauważyłam, że nie ustawiłam pozycji startowej dla kota na początku gry, więc to poprawiłam. Przy okazji okazało się, że kot był za duży, żeby przekraść się obok Czarnodzielnika, więc trochę go zmniejszyłam. Teraz skrypt mojego kota wygląda tak:

A gra wygląda teraz tak:

Dodatkowe wskazówki
- Prędkość przeciwnika: Możesz dostosować szybkość Czarnodzielnika, zmieniając czas jego wędrówki.
- Różnorodność tras: Zamiast jednej stałej ścieżki, możesz stworzyć kilka tras i losowo wybierać jedną z nich.
- Efekty specjalne: Dodaj efekt wizualny (np. zmiana koloru lub rozbłysk) przy kontakcie z kotkiem.
Dodanie przeciwnika do gry to świetny sposób na urozmaicenie rozgrywki i wprowadzenie wyzwania. Spróbujcie sam, może Wasz Czarnodzielnik ma zupełnie inną postać lub charakter? Podzielcie się swoimi pomysłami. Czekam na Wasze relacje! 😊
Do usłyszenia wkrótce!
