26. Budowa Gry Scratch „Wykreślanka” – część 4

26. Budowa Gry Scratch „Wykreślanka” – część 4

with Brak komentarzy

Cześć to znowu ja OLMO 😉

Znowu się cieszę, że znowu możemy się spotkać. Jest to nasz 4 spotkanie i nadal opisujemy naszą grę:

Gra Scratch – Wykreślanka

Poprzednie wpisy możecie znaleźć w poniższych artykułach:

23. Gra Scratch „Wykreślanka” – część 1

24. Gra Scratch „Wykreślanka” – część 2

25. Gra Scratch „Wykreślanka” – część 3

 

W pierwszej części opisywałem jak planowaliśmy wspólnie grę oraz jak tworzyliśmy planszę gry i nasze duszki. Pamiętasz, że naszymi bohaterami w tej grze są głównie literki 😉 oraz kilka przycisków.

Śmieszne jest nazywać literkę albo przycisk bohaterem gry. Nie uważacie? Do tej pory jednak duszki były naszymi bohaterami teraz, wiemy że każdy element, który coś ma robić w czasie gry jest naszym bohaterem ;).

 

W drugiej części opisywałem Wam skrypty przygotowujące do rozpoczęcia gry. To tutaj tworzyliśmy diagram, czyli jakie literki i gdzie będą się pokazywały. Określaliśmy tutaj również wyrazy do szukania na danej planszy. Skrypty przycisków również tutaj poznaliśmy.

 

W trzeciej części pokazałem Wam jak wyglądają skrypty dla literek.

 

Co jeszcze nam więc pozostało do opisania? Nie mamy jeszcze sprawdzania poprawności wyrazu, dodawanie punktów, pokazanie kolejnego wyrazu. Skrypty opisujące te zdarzenia znajdują się w skryptach tła.

 

A więc do roboty.

Zmienne

Jak zdążyliście już pewnie zauważyć w grze wykorzystujemy bardzo dużo zmiennych.

 

Zmienne już opisane to:

A - tutaj zapisane są wszystkie litery linii pierwszej, litera 1- A1, litera 2 - A2 itd. aż litera 10  - A10

B - litery z linii drugiej, a pojedyncze litery w kolejności od 1 do 10, czyli B1 - B10

C - litery z linii trzeciej, a pojedyncze litery w kolejności od 1 do 10, czyli C1 - C10

D - litery z linii czwartej, a pojedyncze litery w kolejności od 1 do 10, czyli D1 - D10

E - litery z linii piątej, a pojedyncze litery w kolejności od 1 do 10, czyli E1 - E10

F - litery z linii ostatniej szóstej, a pojedyncze litery w kolejności od 1 do 10, czyli F1 - F10

 

Opisane listy to:

Diagram - gdzie dodawane poprzez blok dodaj (miejsce litery) do diagram są po kolei miejsce gdzie znajdują się litery

Wyrazy - gdzie dodawane poprzez blok dodaj (wyrazy) do wyrazy są po kolei wyrazy w takiej samej kolejności jak do listy diagram

 

Patrz część 1 wpisu - 23. Gra Scratch „Wykreślanka” – część 1

 

Pozostałe zmienne

Losowy wyraz - w zmiennej ten przechowywany jest wylosowany wyraz z listy wyrazów. Ten wyraz jest szukany przez gracza.

NrWyrazu - w zmiennej ten przechowywany jest numer wyrazu by powiązać z listą diagram, który aktualnie jest szukany.

Punkty - zmienna przechowuje liczbę prawidłowych odpowiedzi. Zmienna jest pokazywana na planszy.

SZUKANY WYRAZ - zmienna wskazująca jaki wyraz jest aktualnie szukany. Na ten wyraz wskazuje Losowy wyraz z listy Wyrazy. Zmienna jest widoczna na planszy.

ZazLitery - zmienna przechowująca informacje która litery z diagramu zostały zaznaczone, w kolejności zaznaczania

ZazWyraz - zmienna przechowuje liter jakie zostały kliknięte (zamienione na zielone) w kolejności ich zaznaczania. Zmienna jest widoczna na planszy.

Blad - jeśli zaznaczone litery nie są prawidłowe, wówczas wartość zmiennej wynosi 1, gdy błędu nie ma to wartość tej zmiennej jest równe 0.

 

 

Następny wyraz

 

Zdarzenie "Kiedy otrzymam następny wyraz" zostało wywołane w "Losuj Plansze"

To zdarzenie ma za zadnie ustawić kolejny wyraz do wyszukania przez gracza.

Bloczki "usuń NrWyrazu z Diagram" oraz "usuń Losowy wyraz z Wyrazy" z listy wyrazów usuwają wyraz, który przed chwilą został znaleziony. Jeśli to pierwszy wyraz to nic nie usuną. Odpowiednik usuwanego wyrazu usuwany jest również z listy Diagram.

Jeżeli na liście Diagram nie ma już elementów (analogicznie na liście Wyrazy powinno być pusto) - bloczek za sprawdzenie, czy na liście są elementy to:

Jeżeli długość "Diagram" = 0 to lub Jeżeli długość "Wyrazy" = 0

To oznacza, że nie ma już żadnych wyrazów do odnalezienia. Znalezione zostały wszystkie wyrazy z listy i wówczas wykonujemy bloczek:

Nadaj komunikat "Koniec gry"

 

W przeciwnym wypadku, czyli lista "Wyrazy" zawiera jeszcze jakieś elementy (wyrazy) to należy wybrać kolejny wyraz. Wykonujemy, więc kolejne bloczki:

Nadaj komunikat "Zresetuj wyraz" - by wyczyścić zmienne widoczne na planszy (pochodzące od poprzedniego wyrazu)

Ustaw "Losowy wyraz" na losuj liczbę od 1 do długość "Wyrazy" - ustawiana jest tutaj zmienna "Losowy wyraz" w następujący sposób:

  • losowana jest liczba od 1 do ilości wyrazów jakie pozostały do odgadnięcia
  • ustawiana jest zmienna na wylosowaną powyżej zmienną

Ustaw "NrWyrazu" na "Losowy wyraz" - zmiennej "Nr wyrazu" przypisywana jest wartość liczbowa zmiennej "Losowy wyraz"

Ustaw "SZUKANY WYRAZ" na element "Losowy wyraz" z "Wyrazy" - ustawiana jest tutaj zmienna "SZUKANY WYRAZ" widoczna na planszy, w następujący sposób:

  • wyszukiwany jest "Losowy wyraz" z listy "Wyrazy"
  • znaleziony wyraz wstawiany jest do zmiennej "SZUKANY WYRAZ" i pokazywany na planszy.

 

Po wykonaniu tego zdarzenia, mamy widoczny na planszy nowy wyraz do zaznaczenia przez gracza, oraz mamy zmienne które wskazują na ten wyraz w liście "Diagram" ("Nrwyrazu") oraz w liście "Wyrazy" ("Losowy wyraz")

 

 

Zresetuj wyraz

 

Zdarzenie Kiedy otrzymam zresetuj wyraz jest wywoływane poprzez przycisk zresetuj wyraz oraz przed wylosowaniem kolejnego wyrazu.

Odpowiada ono za wyczyszczenie zmiennych oraz usunięcie zaznaczonych liter.

Wykonywane są bloczki:

Nadaj komunikat "Usuń zaznaczone" i czekaj - ten komunikat jest przechwytywany przez zielone literki (by się schowały).

Ustaw "ZazWyraz" na "" - usuwamy znaki ze zmiennej"ZazWyraz"

Ustaw "ZazLitery" na "" - usuwamy znaki ze zmiennej "ZazLitery"

 

 

Sprawdź

Zdarzenie Kiedy otrzymam Sprawdź wywoływane jest po kliknięciu przycisku Sprawdż

Zdarzenie sprawdza czy zaznaczono prawidłowy wyraz. Wykonywane są tu następujące bloczki:

Jeżeli "SZUKANY WYRAZ" = "ZazWyraz" to  - jeśli w widocznej zmiennej "SZUKANY WYRAZ" oraz w zmiennej "ZazWyraz" również widocznej znajdują się te same litery, w tej samej kolejności. Czyli jeżeli zaznaczono w prawidłowej kolejności litery wyrazu szukanego to wykonywany jest bloczek:

Nadaj komunikat "SprawdźZnaki" - czyli wywoływane jest zdarzenie sprawdzające, czy np. litery są w linii, czy nie przypadkowe z planszy

W przeciwnym razie wykonywane są bloczki:

  • powiedz "UPS Pomyłka" przez 2 sekundy - wyświetlany jest komunikat "UPS Pomyłka" przez 2 sekundy, by gracz zdążył przeczytać
  • nadaj komunikat "Zresetuj wyraz" - wywoływane jest zdarzenie "Zresetuj wyraz" by ponownie gracz mógł zaznaczyć ten sam wyraz, ale prawidłowo.

 

 

Sprawdź znaki

Zdarzenie SprawdzZnaki wywoływane jest przez zdarzenie sprawdź - gdy litery wyrazu się zgadzają.

Wykonywane są tutaj następujące bloki:

Ustaw "blad" na 0 - ustawiana jest zmienna błąd - "blad" na wartość 0, czyli brak błędu. Jeśli zmienna ta będzie maiła inną wartość niż 0, będzie to oznaczało błąd.

Nadawj komunikat "SprDiagram" i czekaj - wywoływane jest tutaj zdarzenie "SprDiagram" sprawdzające czy zaznaczone litery znajdują się w odpowiednim miejscu planszy.

Jeżeli "blad" = 0 to - czyli jeżeli po wykonaniu zdarzenia "SprDiagram" nie było błędu to wykonywane są kolejne bloki:

  • Zmień "Punkty" o 1 - zmienna "Punkty' zwiększana jest o 1
  • Powiedz "Brawo" przez 2 sekundy - wyświetlany jest przez chwilkę komunikat "Brawo"
  • Nadaj komunikat "Następny wyraz" - wywoływane jest zdarzenie, które ma wyświetlić kolejny wyraz dla gracza

W przeciwnym razie - czyli, gdy istnieje błędnie zaznaczona litera to:

  • Powiedz "Sprawdź czy litery są w jednej linii" przez 2 sekundy - wyświetlany jest komunikat "Sprawdź czy litery są w jednej linii"

 

 

Sprawdź diagram

Zdarzenie Sprawdź diagram ("SprDiagram") wywoływane jest przez zdarzenie Sprawdź znaki ("SprawdżZnaki")

Jeżeli element "NrWyrazu" z "Diagram" = "ZazLitery" to - sprawdzamy tutaj czy w liście "Diagram" szukany przez nas wyraz ma takie same nazwy pól jak pola z liter. Nazwy pola zaznaczonej litery znajdują się w zmiennej "ZazLitery" i odpowiadają nazwie naszego pomarańczowego .duszka. Jeśli wszystko jest dobrze to nazwy pól zaznaczonych liter oraz nazwy pól liter z listy "Diagram" są takie same.

Jeśli tak jest to zdarzenioe "SprDiagram" się kończy.

W przeciwnym razie - czyli gdy nazwy pól się nie zgadzają to zmieniamy zmienną "blad" na 1

 

Koniec gry

Zdarzenie Koniec gry wywoływane jest przez zdarzenie Następny wyraz - gdy wszystkie wyrazy zostały już odnalezione i nie ma już kolejnych.

Wykonywane są wówczas następujące bloczki:

Ukryj zmienną "SZUKANY WYRAZ" - ukrywana jest zmienna, bo nie ma kolejnego wyrazu

Ukryj zmienną "ZazWyraz" - ukrywana jest zmienna "ZazWyraz", bo nie będziemy już zaznaczać kolejnych wyrazów

Zmień tło na "Winter2" - ustawiane jest tło - plansza z napisem "KONIEC GRY"

Zatrzymaj wszystko - wykonywany jest bloczek, który zatrzymuje działanie całej gry.

 

No i to by były wszystkie skrypty.

To chyba najdłuższa gra jaką dotychczas Wam pokazałem. Mam nadzieję, że nie była zbyt skomplikowana. Dla mnie najtrudniejsze było dodawanie tych kolejnych literek i kostiumów, tutaj było najwięcej roboty.

Jednak wyszło nie źle, a jak Wy uważacie.

 

W następnej części podsumuję za pomocą rysunków cały ten projekt.

Lew OLMO 😉

Wszystkie linki w jednym miejscu

 

Opis budowy gry - część 1  23. Gra Scratch „Wykreślanka” – część 1

Opis budowy gry - część 2 24. Gra Scratch „Wykreślanka” – część 2

Opis budowy gry - część 3  25. Gra Scratch „Wykreślanka” – część 3

Projekt gry Wykreślanka w Scratch https://scratch.mit.edu/projects/460849638/

Ulubione gry planszowe Oli TOP 7 najlepszych gier planszowych offline wg. 11-letniej Oli

Opis gry "Pomysłówka" - inspiracja powstania gry online Pomysłówka offline – gra planszowa jako inspiracja

Gra "Wykreślanka" do zabawy i testów Gra Scratch – Wykreślanka

Zostaw odpowiedź