Przejdź do głównej zawartości

Gra łapacz.

Gra polegająca na łapaniu.

Dzisiaj stworzymy grę, w której będziemy łapać przedmioty. Gra może wyglądać np. tak:

 

Mamy więc dużą dowolność 👌

Na czym ma polegać gra - czyli co musimy zaprogramować?

  1. Przesuwanie "łapacza" (może to być koszyk albo też postać, która np. zjada przedmiot lecący w dół)
  2. Przedmiot, który spada np. jabłko (może to być babeczka, piłka, cokolwiek) ma pojawić się najpierw na górze.
  3. Potem przedmiot ma spadać.
  4. Kiedy złapiemy spadający przedmiot do "łapacza" naliczą się punkty.

2. Wejdź na stronę scratch

https://scratch.mit.edu/ 

3. Następnie otwórz nowy projekt


4Wybierz "łapacz", spadający przedmiot i tło.

Dodajemy nowe duszki (kotka możecie usunąć, chyba że będzie wam potrzebny):




Ja dla ułatwienia wybrałam jako łapacz zwykły koszyka na spadający przedmiot - jabłko. Wy macie dowolność 😁 


Nazwijcie duszki tak, aby łatwo wam je zidentyfikować:


Dodajmy też tło:


5. Zaprogramujmy łapacz.

Zacznijmy od zielonej flagi - gra rozpocznie się po wciśnięciu jej:


UWAGA! Pamiętaj, aby programować to na dobrym duszku:

Aby łapacz, czyli w moim przypadku koszyk się ruszał użyjemy bloku:


Dlaczego X? Przypominamy z ostatniej lekcji:

Pamiętaj, że każdy punkt sceny można opisać za pomocą dwóch liczb: x i y. Na środku sceny wartości x i y wynoszą 0. 

W prawą stronę sceny wartość x rośnie i może osiągnąć maksymalnie 240. W lewą stronę wartość x maleje i może osiągnąć -240. W górę sceny wartość y rośnie do maksymalnie 180, a w dół wartość y maleje do -180. Zmiany wartości liczb x i y w zależności od położenia punktu na scenie pokazuje rysunek: 



Chcemy sprawić, aby łapacz przesuwał się o np. o 10 kroków w prawo po wciśnięciu prawej strzałki (lub "D" jeżeli używacie WSAD). Dodajmy dwa nowe bloki:


Zmieńmy "spacja" na
strzałka w prawo (lub D):


A następnie połączmy bloki:


Sprawdź czy zadziałało.

Jak widać to nie wystarczy, bo ten krok program sprawdza tylko raz, a chcemy aby robił to ciągle. Ciągle, więc dodajemy:


Wrzućmy nasz kod do pętli zawsze:

I połączmy "zawsze" z zieloną flagą:


Wciśnij
zieloną flagę i sprawdź czy działa.

Teraz musimy zaprogramować, aby również poruszał się w lewo. Możemy zdublikować kod na ruch w prawo:




i zmienić go na to, aby
łapacz  poruszał się w lewo. Zmieniamy "strzałka w prawo" na "strzałka w lewo" (lub "a" jeżeli wcześniej wybraliśmy opcję z "d") oraz x z 10 na -10:




Dołączmy go do bloku "zawsze":


Sprawdź czy zadziałało.

5. Zaprogramujmy przedmiot, który spada - aby był ciągle na górze.

Wcześniej wybraliśmy przedmiot, który będzie spadał - u mnie jest to jabłko.

Chcemy, aby przedmiot pojawił się na górze (w losowym miejscu), a potem spadał:


Aby
przedmiot pojawiał się w losowym miejscu użyjemy bloku:


Jednak, aby nie latał po całej grze dodajmy:


Zgodnie z diagramem:

aby przedmiot znalazł się na samej górze musimy ustawić y = 180

W ten sposób przedmiot znajdzie się w losowej pozycji, ale nadal będzie na górze. Dodajmy jeszcze zieloną flagę:


6. Sprawmy, aby przedmiot spadał.

Dodajmy blok:


i wpiszmy "-5". Dodajmy
pętle "zawsze", aby przedmiot spadał:


Sprawdźmy co się dzieje. Taki kod:




 sprawia, że przedmiot spada, ale nie wraca na górę. Zmieńmy to!

7. Przedmiot spada, ale gdy spadnie wraca na górę.

Dodajmy blok:


Do środka musimy wrzucić "
jeżeli jabłko dotknie ziemi" to "ma wrócić na górę." 
Jabłko dotknie ziemi, czyli w naszym przypadku to y= - 170

Dodajmy dwa bloki:


Dodajmy
niebieski blok do zielonego. Zmieńmy też "50" na -170:


Dodajmy go do bloku "jeżeli":


Ok, mamy
połowę "jeżeli jabłko dotknie ziemi" to "ma wrócić na górę." Teraz to, aby wróciło do góry. 

Dodajmy dwa bloki:


Dodajmy je do bloku jeżeli:


Połączmy wszystkie nasze bloki:


Sprawdźmy co wyszło. Ja dodatkowo zmniejszyłam teraz jabłko i powiększyłam koszyk:



8. Łapacz ma złapać przedmiot.

Teraz jabłko spada i gdy dotknie ziemi wraca na górę - ale musimy zbierać punkty. 

Dodajmy 2 bloki:




Zmieńmy w bloku dotyka na "łapacz" - czyli jeżeli przedmiot dotknie łapacz to...:


Połączmy te bloki:


Jeżeli
przedmiot dotyka łapacza to... Ma wrócić na górę. Mamy już kod, który sprawia, że przedmiot wraca na górę:


Ja dla ułatwienia dodałam nowe, a nie kopiowałam:


Dodajmy pętle
zawsze:


Czyi: zawsze jeżeli PRZEDMIOT dotyka ŁAPACZ to PRZEDMIOT ma iść do losowej pozycji, ale Y ciągle =180 (czyli jest ciągle na górze).

Dodajmy blok dźwięku:


Wejdźmy do "dźwięki":


Możemy wpisać "coll" od "collect":



Usuńmy poprzedni dźwięk:


Wróćmy do skryptu:

i zmieńmy dźwięk na "collect":


Dodajmy blok z dźwiękiem i zieloną flagę do kodu:


Nasz
pełen kod na przedmiot powinien wyglądać tak:



Sprawdźmy czy działa!

8. Liczenie punktów.

Przedmiot wpada do łapacza - powinno dać to nam punkty. Zaprogramujmy to:

Dodajmy "zmienną":


Jak na poprzedniej lekcji dodajmy "
Punkty":



Dodajmy blok "zmień moja zmienna o 1" i zmieńmy to na "zmień Punkty o 1":

Dodajmy go tuż nad dźwiękiem:



Oznacza to, że
zawsze jeżeli PRZEDMIOT dotyka Łapacza to ZMIENIAMY PUNKTY O 1.

Chcemy jednak, aby na początku gry punkty zawsze wynosiły 0. Dodajmy więc blok "ustaw moja zmienna na 0" i dodajmy go:


To wszystko! 

Możesz zmodyfikować grę np. dodając dźwięk przy porażce oraz reset punktów:



Checklista na ocenę 5:

Pamiętaj, każdy brak jakiegoś punktu może skutkować obniżeniem oceny!!!

Projekt ma zawierać dwa duszkikulkę, którego klikamy ORAZ duszka np. kota, który będzie ogłaszać wynik
✅Gra rozpoczyna się po naciśnięciu zielonej flagi.
✅Gra polega na klikaniu kulki - po kliknięciu pojawia się ona w nowym LOSOWYM miejscu.
Mają być widoczne dwie zmienne: 1) Punkty oraz 2) Czas
Na początku gry CZAS ma wynosić 20 sekund i co sekundę gry lecieć w dół (20, 19, 18...),  do 0.
Na początku gry PUNKTY mają wynosić 0 i co kliknięcie w kulkę lecieć w górę (0, 1, 2, 3....), AŻ do 15 punktów - TO MAKS!
✅Gra ma trwać, aż gracz zdobędzie 15 punktów LUB gdy minie czas (20 sekund).
W zależności o wyniku gry (wygranej LUB przegranej) gracz ma zostać POINFORMOWANY O TYM - duszek np. kot ma ogłosić wynik.

✅WYGRANA: to zdobyte 15 punktów w mniej niż 20 sekund oraz komunikat "Gratulacje! Wygrywasz!"
✅PRZEGRANA: to zdobyte MNIEJ NIŻ 15 punktów w ciągu 20 sekund - gdy odliczanie wynosi "0"  pojawia się komunikat "Niestety przegrywasz!"

Checklista na ocenę 6:

to co na ocenę 5 ORAZ:

Dodaj tło 
Zmodyfikuj duszki: kulkę oraz kota np. dorysuj im coś
Odpowiednio zapisz plik (Kulkoklikacz - Imię Nazwisko Klasa.sb3) oraz napisz temat maila (Kulkoklikacz - Imię Nazwisko Klasa)

Zapisz zadanie i wyślij (UWAGA: ZRZUTY pochodzą z zadania o Kulkoklikaczu, więc na obrazkach jest ZŁA NAZWA):

Zapisz plik w folderze 6a / 6b (w zależności od klasy) pod nazwą "Łapacz - Anna Nowak 6A.sb3" np.

Łapacz - Anna Nowak 6A.sb3

UWAGA! Pliki w scratch często zapisują się w POBRANYCH. Jak zrobić to poprawnie?

Wybieramy PLIK na górze menu:



Następnie klikamy zapisz:



TERAZ SPÓJRZ W PRAWO, zapewne zobaczysz taki komunikat:


JEŻELI MASZ ZWYKŁE OKIENKO ZAPISU:


przejdź na dół INSTRUKCJI do wysyłki :)

TO OZNACZA, ŻE PLIK SIĘ ZAPISAŁ. Jeżeli okienko nam zniknęło wejdźmy w 3 kropki:


a potem w POBRANE:

OKIENKO powinno wrócić. Teraz przy naszym pliku (czyli najnowszym, na samej górze klikamy na symbol folderu obok):


Dlaczego? Otworzy nam to folder, w którym zapisał się plik. Jak widać zapisał się w POBRANYCH:


Trzeba go przenieść:

Klikamy na plik prawym przyciskiem myszy i wybieramy WYTNIJ:

Na niektórych komputerach opcja ta będzie niżej na liście.

Następnie przejdźmy do folderu 6A lub 6B:

Klikamy prawym przyciskiem myszy gdzieś NA TLE (NIE NA INNE PLIKI) w folderze, a następnie WKLEJ:


Teraz zmieniamy nazwę pliku: klikamy prawym przyciskiem myszy na plik, a następnie zmień nazwę:


UWAGA!!!! NIE USUWAMY ROZSZERZENIA PLIKU SB3
, TYLKO TO CO PRZED NIM:



Nazywamy plik np. Łapacz - Imię Nazwisko klasa.sb3
 


Wyślij PLIK na adres: kibic.zadania@gmail.com




TEMAT: Łapacz - Imię Nazwisko klasa




Dołącz swój plik: