Zmiany

Skocz do: nawigacji, wyszukiwania

Gra platformowa

Dodane 4311 bajtów, 11:06, 7 lis 2014
[[Category:Scenariusze Scratch]] [[Category:Mistrzowie Kodowania]]
'''Materiały stworzone przez Fundację Coder Dojo Polska w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC BY 3.0 PL "Creative Commons Uznanie Autorstwa 3.0 Polska".'''
 
== Cele ==
Celem jest stworzenie prostej gry platformowej umożliwiającej jej szerokie zastosowanie tematyczne.
=== Cele ogólne ===
* uczeń potrafi konstruować skrypty zawierające zmienną
* uczeń potrafi implementować grę w środowisku Scratch
 
=== Podstawa programowa ===
uzup
== Informacje ==
Poziom trudności i proponowane wersje:
* dla klas 4-6 ✪✪✰✰ na przykładzie projektu [http://scratch.mit.edu/projects/2551933825523868/ Gra platofrmowaplatoformowa]* dla Gimnazjum ✪✪✰✰ przejdź do strony [[Gra platformowa (wersja z grawitacjąprzesuwanym tłem) ]] na przykładzie projektu [http://scratch.mit.edu/projects/2459157625585771/ Gra platformowa (wersja z grawitacją)]* dla Gimnazjum ✪✪✰✰ przejdź do strony [[Gra platformowa (wersja przewijana) ]] na przykładzie projektu [http://scratch.mit.edu/projects/25120893/ Gra platformowa (wersja przewijana)] Czas realizacji Etap 1. 45minut
== Etapy realizacji ==
====Plansza ''intro'' i ''scena'' ====
Rozpoczynamy od przygotowania planszy rozpoczynającej grę [[intro]]. Wprowadzamy podstawowe informacje np.: tytuł gry. Aby łatwiej w późniejszych etapach konstruować skrypty, możemy zmienić domyślne nazwy nazwijmy nasze tła (np.: ''intro'' dla tła planszy rozpoczynającej, ''tło1'' dla planszy pierwszego poziomu gry)
[[Plik:Planszowka scena tło.jpg]]
=== Tworzenie duszka ''plansza'' ===
Czas realizacji 15 minut
W grach platformowych, bohaterowie poruszają się po trasach wyznaczanych przez rózne różne elementy, np.: chodniki, platformy, schody. W prezentowanej wersji przygotowana została zielona ''plansza'' (trawa i drzewa). Dodatkowo można umieścić duszki stanowiące element krajobrazu, urozmaicenia gry (tu: słońce, chmura). '''Uwaga''' Korzystniejszym rozwiązaniem jest stworzenie prostej planszy i umieszczanie wszystkich elementów oddzielnie (drzewo, jako duszek)
[[Plik:Planszowka platforma.png]]
Na tym etapie możemy opisać podtawowy podstawowy skrypt duszka ''plansza'' umożliwiający jego ukrycie podczas wyświetlania planszy ''intro'' oraz pojawienie się w okreslonym określonym punkcie ekranu, po zmianie tła na ''tło1''.
=== Postać głównego Bohatera ===
Czas realizacji: 20 minut
Aby Chcemy aby nasza postać poruszała się zmieniając kostium, imitując naturalny, naprzemienny krok. Mając przygotowane kostiumy postaci, ustawionej w prawą stronę, programujemy ruch w prawo, dla którego najprostszy skrypt może wyglądać tak:
[[Plik:Platformówka krok.jpg]]
Aby nasza postać poruszała się takim kropkiem krokiem sterowana klawiszem ''strzałka w prawo'' dodajemy warunek:
[[Plik:Platformówka krok strzała.jpg]]
Analogicznie uczniowie mogą tworzyć skrypt dla ruchu w lewo, sterowanego klawiszem strzałka w lewo.
Dyskutujemy o tym, w jaki sposób kontrolować poruszanie postacią, tak , aby uniknąć dwóch problemów:
# nie widać animacji
# po puszczeniu klawisza strzałki Bohater zatrzymuje się, ale nie wraca do kostiumu "stoi".
Czas realizacji: 10 minut
Skrypt można rozwijać o dodatkowych dodatkowe zachowania postaci oraz dopasowanych wprowadzając dodatkowe, dopasowane do nich kostiumówsytuacji kostiumy, np.: wciśnięcie klawisza strzałka w dół powoduje “unik” i schowanie lub schylenie się postaci:
[[Plik:Planszówka chowa.jpg]]
==== Sterowanie bohaterem - spadanie ====
Co się dzieje gdy postać poruszająca się po planszy, dotrze na koniec jakiegoś elementu i wyjdzie “poza”? Poszukując odpowiedzi na to pytanie docieramy do hasła "spadanie". Skrypt bohatera można rozwinąć o prosty algorytm umożliwiający postaci uproszczony ruch ''spadania''. Jeśli chcemy by po rozpoczęciu gry, bohater zawsze spadał gdy nie ma podłoża pod nogami, możemy wybieramy z bloku [[Kontrola]] wybieramy klocki ''zawsze'' oraz ''jeżeli'' i łączymy je z wyrażeniem ''nie'' oraz elementem Bloku [[Czujniki]] ''dotyka plansza'' uzyskując następujący zapis:
[[Plik:Platformowka spadanie.jpg]]
=== Efekty dodatkowe ===
==== Efekt ''przewijania''====Tak skonstruowana baza gry planszowej platformowej umożliwia rozwijanie scenariusza poruszanie się postacią Bohatera w obrębie widocznego na ekranie tła, po ''planszy''. Jednym z charakterystycznych elementów gier platformowych jest efekt przewijania, czyli przesuwania się duszka ''plansza'' stosownie do poruszania się postaci Bohatera. Efekt przewijania można zaimplementować poprzez uzależnienie położenia duszka ''plansza'' od pozycji poruszającego się Bohatera.  =====Skrypt Bohatera zmodyfikowany o efekt ''przewijanie''=====W bloku [[Dane]] wybieramy opcję [[Stwórz zmienną]], nadajemy jej nazwę np.: przewijanie.W chwili rozpoczęcia gry , wartość przewijania równa jest 0, natomiast zmienia się w chwili poruszania bohatera, dlatego do skryptu postaci Bohatera dokładamy klocki z bloku [[Dane]] ''ustaw przewijanie na 0'' oraz ''zmień przewijanie o dodatkowe efekty...''. Zmianę danych ''przewijanie'' ustalamy dostosowując do potrzeb gry, w prezentowanym projekcie wartość ta wynosi |3|. Przy czym gdy Bohater porusza się w prawo, wartość równa się -3, a gdy Bohater porusza się w lewo +3. [[Plik:Skrypt bohatera z przewijaniem.jpg]] =====Skrypt duszka ''plansza'' zmodyfikowany o efekt ''przewijanie'' =====Równocześnie zmianie ulega skrypt duszka ''plansza'' ponieważ ruch tego elementu ma być uzależniony od zmiany pozycji Bohatera: [[Plik:Skrypt plansza z przewijaniem.jpg]] ==== Power Up! ==== W wielu grach platformowych Bohater może złapać obiekt, który sprawia, że na pewien czas jego moc rośnie. Odwołujemy się do doświadczeń uczniów, możemy również posłużyć się przykładem Super Mario, który zjadając grzyba Mega Mushroom powiększa się i nabiera mocy ([https://www.youtube.com/watch?v=4QkMNKp8cTM klip]). Ten grzyb stanowi w grze Mario Bros ''[[power up]]'' (ang. zwiększenie mocy).Dyskutujemy o pomysłach stworzenia duszka reprezentującego ulepszenie postaci Bohatera (tzw “upgrade”). * Czy chcemy aby na planszy był widoczny jeden czy wiele powerup?* Czy ma mieć stałe czy zmienne położenie?* Czy power-upy mają pojawiać się w określonych miejscach czy wybranych losowo?* Co ma powodować zetknięcie Bohatera z elementem “power up”?* Jaką formę ma mieć power-up? (można wykorzystać formę uniwersalną np.:Super-jabłko lub zaproponować formę nawiązującą do omawianych zagadnień szkolnych np.: litera "ó", liczby pierwsze, figury geometryczne itp)  <small>'''Uwaga!'''Jeśli uczniowie planują stworzenie kilku elementów, zachęcamy do rozważenia rozwiązania “[[klonuj]]”. W scenariuszu prześledzimy tworzenie jednego power-upa, ale pojawiającego się na ekranie w losowym miejscu.</small> =====Skrypt elementu ''powerup''- duszek ''Super jabłko''=====Czas realizacji 25 minut. Tworzymy grafikę duszka lub dodajemy z galerii programu Scratch. Power-up ''Super jabłko'' będzie pojawiał się w różnych miejscach i po chwili znikał. Gdy nasz bohater dotknie „Super jabłka”, jego postać powiększy się. [[Plik:Powerup skrypt.jpg]] ===== Skrypt Bohatera zmodyfikowany o efekt ''power up!''=====Wykorzystanie w skrypcie powerupa klocka “nadaj wiadomość” skutkuje zmianami w skrypcie głównego Bohatera. Proste powiększenie postaci można kodować w następujący sposób: [[Plik:Skrypt bohatera powerup2.jpg]] Skrypt warto wzbogacić o efekt dźwiękowy. Uczniowie mogą skorzystać z galerii dźwięków dostępnych w programie Scratch lub mogą użyć dźwięków dostępnych w bibliotece np.: freesound.org (dostęp bezpłatny, po rejestracji).  <small>'''Uwaga!''' Wykorzystując pliki zewnętrzne, spoza galerii programu Scratch, pamiętamy o dodaniu (np.: w polu “O projekcie”), informacji na temat zawartych w grze materiałów (stosownie do ich licencji). Dodatkowe informacje na temat wykorzystywania i opisywania źródeł można znaleźć w materiałach przygotowanych przez CEO w ramach programu [http://blogiceo.nq.pl/szkola2zero/akcja-2-0-za%E2%99%ABuc-z-cc/ Szkoła z Klasą 2.0.].</small>
==== Efekt przewijania tłaDodatkowe elementy ======== Power Up! =====Grę można rozbudować m in.: o licznik punktów, dodatkowe plansze, przeszkody.==== Licznik punktów =====Patrz: odnośnik do gry gimnazjum