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

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

with Brak komentarzy

 

Cześć, to znowu ja OLMO 😉

 

Ciesze się, że znowu się spotykamy. Jest to już 3 nasze spotkanie opisujące jak zbudować grę:

Gra Scratch – Wykreślanka

Poprzednie dwie części znajdziecie we wpisach:

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

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

 

W pierwszej części omawialiśmy jak planowaliśmy budowę gry. Wybraliśmy tło i duszki i zbudowaliśmy niewielki prototyp gry (to jaka uproszczony wygląd gry, może pamiętacie jakie litery użyliśmy? W-Y-R-A-Z-Y.

W części drugiej (24. Gra Scratch „Wykreślanka” – część 2) natomiast pokazałem Wam jak wyglądają skrypty dla przycisków oraz dla tła - przygotowujące do rozpoczęcia gry.

Mamy, więc opisane już następujące zdarzenia dla przycisków:

 

START

 

  • Kiedy zielona flaga kliknięta
  • Kiedy ten duszek kliknięty
  • Kiedy otrzymam "Koniec gry"

SPRAWDŹ

 

  • Kiedy zielona flaga kliknięta
  • Kiedy otrzymam "Start"
  • Kiedy ten duszek kliknięty
  • Kiedy otrzymam "Koniec gry"

ZRESETUJ WYRAZ

 

  • Kiedy zielona flaga kliknięta
  • Kiedy otrzymam "Start"
  • Kiedy ten duszek kliknięty
  • Kiedy otrzymam "Koniec gry"

 

Omówiliśmy też już skrypty tła dla zdarzeń:

  • Kiedy zielona flaga kliknięta
  • Kiedy otrzymam "Losuj Plansze"
  • Kiedy otrzymam "Ustaw wyrazy"
  • Kiedy otrzymam "Ustaw diagram"
  • Kiedy otrzymam "Wiersz A"
  • Kiedy otrzymam "Wiersz B"
  • Kiedy otrzymam Wiersz C"
  • Kiedy otrzymam Wiersz D"
  • Kiedy otrzymam Wiersz E"
  • Kiedy otrzymam Wiersz F"

 

Ze zdarzenia Kiedy otrzymam "Losuj Plansze" nie omówiliśmy jeszcze zdarzenia "Następny wyraz" - wrócimy do tego zdarzenia oraz do pozostałych zdarzeń tła, pod koniec artykułu.

 

Teraz przejdziemy do omówienia skryptów dla duszków literek.

 

Skrypty duszków literek

 

Pamiętacie ile mamy tych duszków? Mamy 10 literek w wierszu (linii, rzędzie), a takich wierszy mamy od A do F czyli 6.

Stąd mamy:

10 literek w wierszu * 6 wierszy = 60 literek

Mamy literki pomarańczowe i zielone (opisaliśmy to w części 1 23. Gra Scratch „Wykreślanka” – część 1), czyli razem mamy:

60 literek pomarańczowych + 60 literek zielonych = 120 literek

 

Czemu mamy 2 rodzaje literek?

 

Plansza planowanie nazewnictwa

Literki pomarańczowe reagują na kliknięcia, ale żeby niechcący nie kliknąć ponownie w tą samą literkę zmienimy jej kolor. Do tego, żeby literka zmieniła kolor wystarczyło by nam dodatkowy kostium w innym kolorze lub nowego duszka. My wybraliśmy zrobienie nowego duszka, bo literki w różnych kolorach zachowywać się będą inaczej, czyli mieć inne skrypty.

Każda literka ma dużo kostiumów i może być dowolną literką z alfabetu i tak nazwa kostiumu dla literki A to po prostu A, dla B - B, C- C itd aż do Z. Policzcie ile to będzie kostiumów?

Jak nazywamy duszki, żeby było nam łatwo to tak jak na diagramie w zależności od miejsca literki na planszy.

I tak mamy duszki pomarańczowe o nazwach: A1, A2,...A10, B1, B2, ... B10, C1, C2, ... C10, D1, D2, ... D10, E1, E2, ... E10, F1, F2, ... F10 ,

a duszki zielone będą miały podobnie: ZA1, ZA2, ... ZA10, ZB1, ZB2, ... ZB10, ZC1, ZC2, ... ZC10, ZD1, ZD2, ... ZD10, ZE1, ZE2, ... ZE10, ZF1, ZF2, ... ZF10.

 

Skrypty dla duszka A1

Kiedy zielona flaga kliknięta

 

 

Jest to zdarzenie wywoływane na samym początku. Ustawiamy tutaj początkowe wartości, czyli w tym wypadku ukrywamy duszka A1. Kolejnym niezbędnym ustawieniem to miejsce na planszy, czyli w tym wypadku 205 kroków od środka w lewo oraz 120 kroków od środka w górę.

 

Wszystkie inne duszki będą miały odpowiednie ustawienia początkowe, czyli będą ukryte oraz będą znajdowały się w określonym miejscu planszy.

Kiedy otrzymam Start

 

Pokazujemy duszka oraz ustawiamy odpowiedni kostium. Kostiumem jest odpowiednia literka, literki są w zmiennych o tych samych nazwach. W zmiennej A1 mamy literkę, na którą musimy zmienić kostium. Nazwy kostiumów to nazwy liter. W naszym wypadku w zmiennej A1 mamy literkę T, a więc zmieniamy kostium duszka na T.

 

Analogiczne będzie wyglądał skrypt dla pozostałychg duszków pomarańczowych, należy jednak pamiętać by kostium zmienić na odpowiednią zmienną (nazwa zmiennej i nazwa duszka jest taka sama - w tym wypadku).

 

Kiedy ten duszek kliknięty

 

W tym zdarzeniu ustawiane są zmienne:

ZazWyraz - do obecnego wyrazu na końcu dołączana jest literka ze zmiennej A1, czyli tutaj T

ZazLitery - do obecnych znaków dodawane jest miejsce planszy na końcu - A1

Następnie kliknięty duszek jest ukrywany i nadawany jest komunikat o zaznaczeniu literki. Nadawany jest komunikat "ZaznaczonoA1" - komunikat ten przechwytywany jest przez zielonego duszka czyli ZA1.

 

Kiedy otrzymam "Usuń zaznaczone"

 

Zdarzenie to wywoływane jest m.in. gdy użyjemy przycisku "ZRESETUJ WYRAZ", wówczas możliwe będzie zaznaczenie wyrazu od początku. Ten skrypt jeżeli wśród zaznaczonych liter - w zmiennej ZazLitery znajduje się miejsce A1 to pokazuje pomarańczową duszka i ustawia kostium na odpowiednią literę.

 

Możemy więc powiedzieć, że ten skrypt zamienia zielone literki na pomarańczowe, oraz usuwa wpisane litery z odpowiednich zmiennych.



 

 

Kiedy otrzymam "Koniec gry"

 

W tym skrypcie ukrywamy duszka.

 

Skrypty dla duszka ZA1

 

Kiedy Zielona flaga kliknięta

Na początku gry skrypt kiedy zieloną flagę kliknięto jest identyczny dla duszka pomarańczowego i zielonego. Czyli A1 i ZA1 A2 i ZA2 itd.

Duszek zaczyna jako ukryty - schowany i ma określone miejsce na planszy/

 

Kiedy otrzymam Start

Kiedy gra się rozpoczyna, po naciśnięciu przycisku Start ustawiany jest odpowiedni kostium. Jak pamiętasz kostiumem tutaj jest literka, która przechowywana jest w zmiennej A1.

 

Kiedy otrzymam Zaznaczono A1

Kiedy duszek A1 zostanie kliknięty wywoływane jest zdarzenie zaznaczono A1 i ma nastąpić zmiana koloru. Ukrywamy więc duszka pomarańczowego i pokazujemy duszka zielonego.

Duszek zielony nie reaguje na kliknięcie, bo nie ma zdarzenia kiedy duszek kliknięty nie ma więc problemu np. z dwukrotnym kliknięciem tej samej literki.

 

Kiedy otrzymam Usuń zaznaczone

To zdarzenie jest wywoływane po kliknięciu przycisku zresetuj wyraz lub pokazaniu kolejnego wyrazu.

Najpierw w bloczku jeżeli sprawdzamy czy w zmiennej ZazLitery (w której trzymamy zaznaczone miejsca liter wyrazu który odgadujemy) znajduje się pole diagramu w naszym przypadku A1.

Jeśli pole jest zaznaczone to ukrywamy zieloną literkę (by pokazać pomarańczową).

 

Kiedy otrzymam Koniec gry

Na koniec gry ukrywamy duszka, by widoczna była plansza z zakończeniem gry.

 

Skrypty dla pozostałych duszek literek

 

Skrypty są analogiczne jak dla A1 i ZA1, należy zamienić odpowiednie zmienne A1 na nazwę duszka. To co musimy wiedzieć to jakie miejsce na planszy będą zajmować nasze duszki.

Ta informacja znajduje się w zdarzeniu Kiedy zielona flaga kliknięta w bloczku idź do x:   y:  ten bloczek jest identyczny dla duszka pomarańczowego i zielonego czyli dla A1 i ZA1.

Poniżej miejsc położenia duszków.

  • A1- idż do x:-205 y: 120
  • A2- idż do x:-160 y: 120
  • A3- idż do x:-115 y: 120
  • A4- idż do x:-70 y: 120
  • A5- idż do x:-25 y: 120
  • A6- idż do x: 20 y: 120
  • A7- idż do x: 65 y: 120
  • A8- idż do x: 110 y: 120
  • A9- idż do x: 155 y: 120
  • A10- idż do x: 200 y: 120

 

Wszystkie duszki A mają tą samą składową y - czyli y=120. Y odpowiada za wysokość leżą one na tej samej linii, więc mają też tę samą wysokość. Za to w którym miejscu szerokości naszej planszy znajdzie się nasza literka odpowiada składowa x. Czyli x wskazuje czy będzie nasz duszek leżał po lewej czy prawej stronie planszy. Te leżące na lewo mają znak - te leżące na prawo nie. Czyli A1 leży 205 kroków na lewo od środka, więc będziemy mieć -205. Nasze duszki w linni układane są co 45 kroczków i dlatego różnica pomiędzy nimi jest stała.

Kolumna będzie odpowiadała składowa x, czyli pierwsza liczba w bloczku idź do. Kolumna 1 jest na -205, 2 na -160, a na jakim miejscu będzie kolumna 10.

Czy jesteś w stanie określić, gdzie powinny leżeć pozostałe duszki. Różnica w wysokości duszków na naszej planszy to również 40 (czyli jeśli dla A y=120, to dla B y = 80, dla C y = 40, dla D = 0, dla E będzie poniżej środka więc dodamy znak - ("minus"), więc y = -40, dla F y = -80.

 

  • B1- idż do x:-205 y: 80
  • B2- idż do x:-160 y: 80
  • B3- idż do x:-115 y: 80
  • B4- idż do x:-70 y: 80
  • B5- idż do x:-25 y: 80
  • B6- idż do x: 20 y: 80
  • B7- idż do x: 65 y: 80
  • B8- idż do x: 110 y: 80
  • B9- idż do x: 155 y: 80
  • B10- idż do x: 200 y: 80

  • C1- idż do x:-205 y: 40
  • C2- idż do x:-160 y: 40
  • C3- idż do x:-115 y: 40
  • C4- idż do x:-70 y: 40
  • C5- idż do x:-25 y: 40
  • C6- idż do x: 20 y: 40
  • C7- idż do x: 65 y: 40
  • C8- idż do x: 110 y: 40
  • C9- idż do x: 155 y: 40
  • C10- idż do x: 200 y: 40

  • D1- idż do x:-205 y: 0
  • D2- idż do x:-160 y: 0
  • D3- idż do x:-115 y: 0
  • D4- idż do x:-70 y: 0
  • D5- idż do x:-25 y: 0
  • D6- idż do x: 20 y: 0
  • D7- idż do x: 65 y: 0
  • D8- idż do x: 110 y: 0
  • D9- idż do x: 155 y: 0
  • D10- idż do x: 200 y: 0

  • E1- idż do x:-205 y: -40
  • E2- idż do x:-160 y: -40
  • E3- idż do x:-115 y: -40
  • E4- idż do x:-70 y: -40
  • E5- idż do x:-25 y: -40
  • E6- idż do x: 20 y: -40
  • E7- idż do x: 65 y: -40
  • E8- idż do x: 110 y: -40
  • E9- idż do x: 155 y: -40
  • E10- idż do x: 200 y: -40

 

Wierzę, że jesteś w stanie sam zapisać skrypt dla linii ostatniej czyli F - pamiętaj wysokość należy zmniejszyć o 40 od E.

Jeśli będziecie mieli problem to zajrzyjcie do skryptów projektu https://scratch.mit.edu/projects/460849638/

 

Na dzisiaj chyba wystarczy. Zostały nam jeszcze skrypty tła i omówimy je w następnym wpisie.

Podsumowując ten duży projekt, zrobimy kilka rysunków, które ułatwią nam ogarnięcie wszystkiego.

Zapraszam Ciebie więc do następnego wpisu.

 

 

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

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ź