Robimy naszą pierwszą grę – cz. 12, czyli programowanie właściwe – zbieranie jabłek i punkty

Witajcie w kolejnej części naszej serii „Robimy grę„. Dziś nauczymy naszego głównego bohatera – pomarańczowego kotka, zbierać jabłka i zdobywać za nie punkty. To sprawi, że gra stanie się ciekawsza i bardziej satysfakcjonująca dla gracza. Do dzieła!

Komputer, na którym robimy grę - widać fragment kodu stworzonego w Scratch'u. Komputer stoi na biurku. Widać klawiaturę, myszkę komputerową, lampkę biurową i przybory piśmiennicze.

W tym wpisie serii „Robimy grę” dowiemy się czym jest zmienna i jak używać bloczków z kategorii „Zmienna”, „Zdarzenia”, „Kontrola”, „Czujniki”, „Wygląd” 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.

zmienne
zdarzenia
kontrola
czujniki
wygląd
dźwięk

Podsumowanie dotychczasowych etapów serii „Robimy grę”

W poprzedniej części nauczyliśmy się, jak sterować kotkiem i pilnować, żeby nie przechodził przez ściany labiryntu. A jeszcze wcześniej przeprowadziliśmy burzę mózgów, wymyśliliśmy fabułę gry, wybraliśmy narzędzie, w którym ją zrobimy i stworzyliśmy własne grafiki. Teraz czas dodać nowe wyzwanie – rozmieszczenie jabłek w grze oraz system punktacji, który będzie informował, ile jabłek zebrał nasz bohater.

👉 Cel dzisiejszego wpisu

Naszym celem jest zaprogramowanie:

  1. Jabłek jako duszków do zbierania.
  2. Systemu punktacji, który zlicza zdobyte jabłka.
  3. Efektów wizualnych i dźwiękowych przy zbieraniu jabłek.

Dodawanie jabłek do gry krok po kroku

1. Tworzenie duszków jabłek

  • Wybieramy opcję „Dodaj duszka” i wyszukujemy obrazek jabłka z bazy Scratcha lub używamy własnej grafiki. Ja wszystkie nasze grafiki dodałam już w tej części.
  • Możemy dodać kilka takich samych lub różnych jabłek jako osobne duszki (np. „Jablko1”, „Jablko2”).
Duszki z naszej gry (kot, czarnodzielnik, jabłka i klucz)

2. Rozmieszczenie jabłek w labiryncie

  • Przeciągamy duszki jabłek na scenę i umieszczamy je w różnych miejscach labiryntu.
  • Starajmy się umieścić jabłka w miejscach, które zachęcą gracza do eksploracji.
Widok naszej gry - labirynt z kotem, czarnodzielnikiem, jabłkami i kluczem.

Tworzenie systemu punktacji

1. Czym jest „zmienna”?

Wyobraź sobie, że masz pudełko. Na tym pudełku możesz przykleić etykietkę, np.:
🟡 ilość_punktów, 🔵 życie_kotka albo 🟢 liczba_jabłek (to NAZWA ZMIENNEJ)

W środku tego pudełka zawsze jest JAKAŚ WARTOŚĆ ZMIENNEJ:
Na początku: ilość_punktów = 0, potem zebrałeś jabłko: ilość_punktów = 1, potem zebrałeś kolejne jabłko: ilość_punktów = 2 i tak dalej!

To tak, jakby w środku była karteczka z liczbą, którą co chwilę można ZMIENIAĆ.

W grach zmienne to np. liczba punktów, ilość życia, czas do końca rundy, czy drzwi są otwarte (tak/nie = prawda/fałsz), a nawet… jak bardzo wkurzony jest nasz Czarnodzielnik! 😈 😅

2. Dodanie zmiennej „Punkty”

  • W zakładce „Zmienne” klikamy „Utwórz zmienną” i nadajemy jej nazwę „Punkty”.
  • Zmienna pojawi się na scenie i będzie wyświetlała aktualny wynik gracza.
Okno tworzenia nowej zmiennej w Scratch.

3. Skrypt dla jabłek

Każde jabłko musi mieć swój skrypt odpowiadający za reakcję na dotknięcie przez kotka:

  1. Dodajemy blok „Kiedy [zielona flaga] kliknięta”.
  2. Żeby jabłka były zawsze widoczne na początku gry ustawiamy im klocek „pokaż” z kategorii „Wygląd”.
  3. Poniżej dodajemy pętlę „zawsze”, aby nasłuchiwać interakcji.
  4. W pętli umieszczamy warunek „jeśli [dotyka duszka Kotek]”:
    • Dodajemy blok „zmień Punkty o 1” (dodanie jednego punktu).
    • Dodajemy blok „ukryj” – jabłko znika po zebraniu.
    • Dodajemy dźwięk (np. „pop” lub „chrup”) dla efektu audio (trzeba go nagrać).
Skrypt jabłka.

Taki skrypt ustawiamy dla każdego z jabłek.

4. Resetowanie punktów na początku gry

Gra powinna zaczynać się z wyzerowaną liczbą punktów, dlatego:

  • Dodajemy skrypt dla kotka lub tła:
    • Blok „Kiedy [zielona flaga] kliknięta”.
    • Blok „ustaw Punkty na 0”, aby na początku gry zawsze zaczynać od zera.
Skrypt zerowania punktacji.

Pełny skrypt

W tym momencie nasz skrypt wygląda następująco:

Skrypt kota.
Skrypt jabłka.

Nasz kot potrafi poruszać się po labiryncie (tylko po ścieżkach), mamy jabłka, które na początku gry pojawiają się w ustalonych przez nas miejscach, a kiedy kot ich dotknie, to je zjada i zdobywa punkt (jeden za każde zjedzone jabłko).

Dodatkowe wskazówki:

  • Efekt błysku: Możemy dodać krótki efekt błysku jabłka przed zniknięciem (zmieniając jego przezroczystość lub rozmiar).
  • Różne wartości punktów: Możesz przypisać różnym jabłkom różne wartości punktowe (np. czerwone jabłka +1, złote jabłka +5).
  • Losowe rozmieszczenie: Jeśli chcesz dodać element zaskoczenia, możesz zaprogramować losowe rozmieszczenie jabłek przy każdorazowym rozpoczęciu gry.

Śmiało – eksperymentuj!

Testowanie mechanizmu zbierania

Po dodaniu skryptów warto przetestować grę:

  1. Czy jabłka znikają po dotknięciu przez kotka?
  2. Czy punkty są poprawnie zliczane?
  3. Czy zmienna „Punkty” wyświetla się na scenie zgodnie z oczekiwaniami?

U mnie np. nie działało znikanie jabłek i nie odtwarzał się dźwięk chrupania. Okazało się, że klocki „ukryj” i „zagraj dźwięk” nie były umieszczone w pętli „zawsze”. Po poprawkach wszystko działa jak trzeba.

Do usłyszenia wkrótce!

MOŻE ZAINTERESUJE CIĘ RÓWNIEŻ:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *