Cele
Cele ogólne
- przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka Scratch
- opracowanie projektu będącego bazą gry platformowej
- implementacja projektu w środowisku Scratch
Cele szczegółowe
- uczeń rozumie i potrafi stosować odpowiednie instrukcje strukturalne
- uczeń rozumie pojęcie zmiennej i wykorzystuje je w programie Scratch
- 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 Gra platofrmowa
- dla Gimnazjum ✪✪✰✰ przejdź do strony Gra platformowa (wersja z grawitacją) na przykładzie projektu Gra platformowa (wersja z grawitacją)
- dla Gimnazjum ✪✪✰✰ przejdź do strony Gra platformowa (wersja przewijana) na przykładzie projektu Gra platformowa (wersja przewijana)
Czas realizacji Etap 1. 45minut
Etapy realizacji
Wprowadzenie
Czas realizacji 10 minut.
Przedstawienie koncepcji projektu stworzenia bazy gry platformowej. Rozmowa odnosząca się do doświadczeń uczniów, nawiązanie do gier, w które uczniowie grają. Skoncentrowanie się na grach platformowych, w których występuje element poruszania bohaterem. Np.: Lego, Super Mario, Sonic. Przypomnienie realizowanych na dotychczasowych zajęciach, wcześniejszych modułów dotyczących sterowania postaciami.
Tworzenie sceny
Czas realizacji 15 minut
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 tła (np.: intro dla tła planszy rozpoczynającej, tło1 dla planszy pierwszego poziomu gry)
Skrypt zmiany tła
Na tym etapie możemy wprowadzić prostą, automatyczną zmianę tła lub zmianę tła intro na tlo1 po naciśnięciu odpowiedniego klawisza:
Tworzenie duszka plansza
Czas realizacji 15 minut W grach platformowych, bohaterowie poruszają się po trasach wyznaczanych przez rózne 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).
Na tym etapie możemy opisać podtawowy skrypt duszka plansza umożliwiający jego ukrycie podczas wyświetlania planszy intro oraz pojawienie się w okreslonym punkcie ekranu, po zmianie tła na tło1.
Postać głównego Bohatera
Grafika postaci
Czas realizacji 15 minut.
Uwaga! Czas realizacji tej części uzależniony jest od wybranej opcji: wybór postaci lub tworzenie postaci. Umożliwia to zarówno dostosowanie modułu do potrzeb i możliwości uczniów oraz do czasu trwania zajęć kodowania (bloki zajęć trwające 45 lub 90minut). W przypadku, gdy uczniowie chcą zaprojektować własne kostiumy duszków można zaproponować tę część jako zadanie domowe do samodzielnej realizacji. Proponowanym rozwiązaniem jest samodzielne przygotowanie przez uczniów podstawowej, prostej wersji postaci, z możliwością dopracowania graficznej formy w domu.
Tworzymy prostą postać wraz z kostiumami ruchu:
- stoi
- bieg_lewa gdy postać wykonuje krok jedną nogą
- bieg prawa gdy postać wykonuje krok drugą nogą
W ustawieniach styl obrotu duszka zaznaczamy styl obrotu lewa-prawa (a nie 360 stopni)
Sterowanie bohaterem - ruch lewa-prawa.
Czas realizacji: 20 minut
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:
Aby nasza postać poruszała się takim kropkiem sterowana klawiszem strzałka w prawo dodajemy warunek:
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".
Proponujemy przejrzenie klocków z grupy kontrola oraz czujniki. Dyskutujemy wspólnie na temat możliwości utworzenia jednego skryptu, kontrolującego ruch postaci sterowanej klawiszami strzałek oraz uwzględniającego pozycję braku ruchu z kostiumem “stoi”
Na tym etapie skrypt sterujący ruchem lewo-prawo może wyglądać w następujący sposób:
Sterowanie bohaterem - skok.
Czas realizacji: 15 minut
Skrypt postaci można rozwinąć o algorytm umożliwiający postaci wybicie do góry, sterowane klawiszem “strzałka w górę”. Analogicznie do tworzonych wcześniej skryptów, można stworzyć następujący schemat (wzbogacony o efekt dźwiękowy):
Uwaga! Warto w tym momencie przetestować poruszanie się postaci. Tak skonstruowany skrypt powoduje, że postać może wykonać skok, odbijając się nawet “od niczego”. Warto wskazać, że w sytuacji rzeczywistej możemy skakać w górę wyłącznie poprzez wybicie się od podłoża. Należy dodać warunek możliwości wykonania skoku jeżeli postać dotyka duszka plansza'
Z bloku Wyrażenia wybieramy klocek warunku i łącząc nim elementy Bloku Czujniki, klocek strzałka w górę naciśnięta oraz dotyka plansza.
Tak skonstruowany skrypt umożliwia bohaterowi małe podskoki. Warto dostosować siłę skoku (zmiana wartości Y) np.: do kształtu planszy, Można również wprowadzić element power-up (Patrz: ...)
Sterowanie bohaterem - pozycja chowa się
Czas realizacji: 10 minut
Skrypt można rozwijać o dodatkowych zachowania postaci oraz dopasowanych do nich kostiumów, np.: wciśnięcie klawisza strzałka w dół powoduje “unik” i schowanie lub schylenie się postaci:
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 gdy nie ma podłoża pod nogami, możemy z bloku Kontrola wybieramy klocki zawsze oraz jeżeli łączymy z wyrażeniem nie oraz elementem Bloku Czujniki dotyka plansza uzyskując następujący zapis:
Skrypt głównej postaci
Proponowany skrypt poruszania się głównej postaci na tym etapie wygląda następująco:
Efekty dodatkowe
Tak skonstruowana baza gry planszowej umożliwia rozwijanie scenariusza gry o dodatkowe efekty, np.: