Zmiany

Skocz do: nawigacji, wyszukiwania

Wyścigówka (wersja B)

Dodane 182 bajty, 11:01, 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".'''
== Informacje==
===Orientacyjny czas realizacji===
Orientacyjny czas realizacji jednej z proponowanych wersji: 2x 45minut'''2 x 45 minut''' ===Poziom trudnościi proponowane wersje===* dla klas 1-3 ✪✪✪✰ przejdź do scenariusza [[Wyścigówka (wersja A)]] lub zobacz gotowy projekt Wyścigówka [http://scratch.mit.edu/projects/25909243/ Wersja A]* dla klas 4-6 ✪✪✪✰ [[Wyścigówka (wersja B)]] (ten scenariusz), zobacz gotowy projekt Wyścigówka [http://scratch.mit.edu/projects/2548865925911076/ Wersja B]* dla gimnazjum ✪✪✰✰przejdź do scenariusza [[Wyścigówka (wersja C)]] lub zobacz gotowy projekt Wyścigówka [http://scratch.mit.edu/projects/25955675/ Wersja C]===Gotowe Dodatkowe projekty===:* Wersja z grafiką, bez skryptu dostępna jest [http://scratch.mit.edu/projects/25996540/ tutaj]* Poglądowy projekt [http://scratch.mit.edu/projects/25826861/ Gra wyścigowa] oraz * [http://scratch.mit.edu/projects/25827069/ Wersja z rankingiem zwycięstw] ===Orientacyjny czas realizacji===Orientacyjny czas realizacji jednej z proponowanych wersji: 3 x 45minut
==Etapy==
Wprowadzenie teoretyczne do projektowania gry typu “wyścig”, przygotowanie kostiumów duszków “droga” i “samochód”.
==== Wprowadzenie. ====
Czas realizacji 15 10 minut
Przedstawienie koncepcji projektu stworzenia gry zręcznościowej. Przypomnienie realizowanych na dotychczasowych zajęciach, wcześniejszych modułów dotyczących sterowania postaciami poprzez użycie klawiszy “strzałka lewo/prawo”, “strzałka góra/dół” Rozmowa odnosząca się do doświadczeń uczniów związanych z rodzajami gier typu “wyścig”. Skoncentrowanie się na grach, w których występuje element poruszania bohaterem widocznym “z lotu ptaka” (np.: River Ride, Pro Racing GT, Extreme Rally lub [[https://www.youtube.com/watch?v=T4Gq5NSnvK4 Reckless Racing ]] ).
=====Przygotowanie elementu startowego=====
W rozmowie na temat gier zręcznościowych, warto poruszyć kwestię momentu rozpoczęcia jazdy samochodu. Analogicznie do sytuacji z rzeczywistego toru wyścigowego, pojazdy zwykle stoją na linii startu w gotowości i czekają, na odmierzenie czasu do startu. W proponowanej wersji gry stworzony został zegar, nadający sygnał cały czas. Zegar najlepiej stworzyć w polu scenie sceny ponieważ będzie on przydatny dla wszystkich duszków. Dodatkowo stworzymy też nadawanie startusygnału ''start!'', ułatwi nam to w przyszłości stworzenie menu. W rozwinięciu gry, między inicjowaniem programu poprzez kliknięcie w zieloną flagę, a nadaniem sygnału ''start!'' można dodać element wizualny lub dźwiękowy w postaci odliczania (np.: 3, 2, 1...).
[[Plik:Wa scena skrypt.PNG]]
==== Przygotowanie duszka pojazdu oraz trasy wyścigu. ====
Czas realizacji 30 20 minut.
'''Uwaga!'''
*W jaki sposób zapewnić płynność obrotu pojazdu? Aby poruszać się płynnie po krzywiznach drogi korzystnie jest połączyć warunek “jeśli klawisz strzałka w lewo/prawo wciśnięty” z klockiem “obróć o X stopni”.
*Co zrobić aby samochód był stale widoczny na planszy (unikanie sytuacji, w której pojazd “ucieka” poza planszę)? Rozwiązaniem może być osadzenie pojazdu np.: w centralnym punkcie planszy.
*Wówczas należy odpowiedzieć na kolejne pytanie: W jaki sposób uzyskać efekt “jazdy samochodem”, jeśli “osadzimy” pojazd w centralnym punkcie planszy? Rozwiązanie może nasunąć obserwacja konstrukcji gry “rakieta” gier typu [https://www.youtube.com/watch?v=oswkLE4mGLI River Ride] tj.: nadanie efektu “ruchu” postaci droga, czyli trasie wyścigu.
Aby uniknąć sytuacji w której pojazd “ucieka” poza ekran, '''ustawiamy w zakładce skryptów informację określającą pozycję duszka “samochód” zawsze na środku ekranu.''' Określamy warunek umożliwiający obracanie pojazdem poprzez sterowanie klawiszami “strzałka lewo/prawo”.
[[Plik:Wa skrypt samochod.PNG]]
 
====Skrypt duszka "Tor Wyścigowy"====
'''Uwaga:'''
W Analogicznie do ustawień duszka "TorWyścigowy", w ustawieniach grafiki włączony został styl obrotów w opcji nie obracaj.
Część kodu odpowiedzialna za poruszanie się wody oraz obszaru zieleni, może wyglądać w następujący sposób:
#* wprowadzoną w skrypcie duszka “droga”
# zmienną ”maksymalna prędkość”
#* ograniczającą prędkość do maksymalnej liczby kroków (przykładowo - 5)#* umożliwiającą jej kontrolę maksymmalnej prędkości pojazdu
#* ustawioną w opcji “tylko dla tego duszka”
#* określoną jako wartość maksymalna 5.
Na tym etapie skrypt duszka “droga” może wyglądać następująco:
==== Tworzenie planszy startowej oraz budowanie menu gry. ====
Czas realizacji 20 15 minut.
Menu prezentowanej wersji gry zawiera jedynie:
[[Plik:Wyscigowka start.PNG]]
'''Uwaga:''' Jednocześnie należy wprowadzić we wcześniejszych skryptach korektę o ukrycie duszka po kliknięciu w zieloną flagę oraz pojawienie się go wraz z otrzymaniem komunikatu ''Start''. === Zaawansowane opcje gry - nitroMeta, przeszkodacheck point, dodatki do samochodu oraz meta i check point. ===Czas realizacji 20 minut ====Cień samochodu i światła.====
Grafikę gry może uatrakcyjnić dodanie cienia pod samochodem. W tym celu można zduplikowac duszka ''samochód'' oraz pomalować na czarno.
Skrypty zastępujemy nowymi, umożliwiającymi poruszanie się duszka ''cień'' razem z duszkiem ''samochód'':
[[Plik:Wyscigówka Wyscigowka cien.jpgPNG]]
Dodatkowo można przygotować duszka ''światła'Uwaga:''' [[Plik:Wyscigówka swiatla.jpg]] Do świateł wykorzystujemy opcję [[zmienna lokalna]], która będzie przechowywała stan świateł Na tym etapie można uzupełnić skrypty wszystkich duszków o informacje na temat warstwy (włączone/wyłączone)np[[Plik:Wyscigowka skrypt swiatla.jpg]] ====Wielka przeszkoda. Jezioro!==== Jednym ze sposobów uniemożliwiającym graczom przejechanie z linii startu do mety "na skróty" jest umiejscowienie wewnątrz pętli duszek ''droga'Tor Wyścigowy' naturalnej przeszkody. W prezentowanym projekcie jest to jezioro, przygotowane jako kopia duszka ''drogamoże zasłaniać duszka '' oraz wypełnienie środkowej części kolorem niebieskim. Jezioro można upiększyć roślinami i zwierzakami. [[Plik:Jezioro grafika.jpg]] W ustawieniach grafiki włączony został [[styl obrotów]] w opcji 'samochód'nie obracaj''. [[Plik:Jezioro jeśli nie obracajustalimy odpowiedniej kolejności warstw).jpg]] Część kodu odpowiedzialna za poruszanie się naszej wody może wyglądać W dalszej części prac należy kontrolować sytuację w następujący sposób: której potrzebne będzie uzupełnienie tych informacji. Aby ustalić kolejność warstw używamy klocków z bloku [[Plik:Jezioro skryptKlocek warstwy.jpgpng]]
==== Meta i Check Point. ====
Aby wygrać wyścig trzeba dotrzeć do mety pokonując całą trasę. Tworzymy duszka ''meta'' oraz dwa punkty kontrolne (tzw. ''check point'' ) sprawdzające czy gracz na pewno przejechał przez wyznaczoną trasę. W prezentowanej wersji stworzone zostały tylko dwa punkty kontrolne, położone tuż przed metą. W skrypcie umieszczone zostały zmienne: ''okrążenie'' przechowujące ilość pokonanych okrążeńumieszczony został kod, ''pierwsze_sprawdzenie'' oraz ''drugie_ sprawdzenie'', informujące czy dane punkty kontrolne umożliwiający zasygnalizowanie graczowi zaliczenie punktu kontrolnego (check pointzmiana kostiumu na jaśniejszy kolor) zostały zaliczone. [[Plik:Check point meta1.jpg]] [[Plik:Check point meta2.jpg]]
Teraz stworzymy metę - reprezentowaną graficznie jako jasny, prosty odcinek. Duszek mety również w ustawieniach [[styl obrotówPlik:Wyscigowka skrypt checkpoint.PNG]] ma zaznaczoną opcję ''nie obracaj''.
[[Plik:Skrypt Kolejnym etapem jest stworzenie duszka ''meta'', reprezentowanego graficznie jako jasny, prosty odcinek.jpgDuszek mety również w ustawieniach [[styl obrotów]]ma zaznaczoną opcję ''nie obracaj''. Dodatkowo ustalamy, jaka liczba okrążeń gwarantuje wygraną. Tworzymy zmienną ''Okrążenia'', kodujemy w skrypcie warunek wygranej (jeżeli liczba okrążeń równa jest 3) wynikających ze spełnienia warunku przejechania samochodem przez trzykrotnie przez oba punkty kontrolne.
==== Przegrana ====Do gry można dodać duszka sygnalizującego przegraną, w sytuacji, gdy samochód wjedzie do jeziora. Skrypt takiego napisu ''przegrana'' może wyglądać w następujący sposób[[Plik:Wyscigowka meta.PNG]]
[[Plik:Duszek przegrana.jpg]]==== Wygrana! ====Dodatkowo można stworzyć duszka ''wygrana''
Innym rozwiązaniem może być wypowiedź kierowcy samochodu np. „O nie! Toniemy! Przegraliśmy!”[[Plik:Wyscigowka wygrana2.PNG]]
==== Wygrana! Ranking zwycięstw Porażka ====Gra jest gotowaDo gry można dodać duszka sygnalizującego przegraną, w sytuacji, gdy samochód wjedzie do jeziora. Można ożywić ranking poprzez stworzenie duszka Skrypt takiego napisu ''wygranaporażka''. Będzie to napis informujący o wygranej, a przy okazji sprawdzający czy nasz znaleźliśmy się na podium. Opcjonalnie cały ranking można wyzerować przypisanym klawiszem.może wyglądać w następujący sposób:
[[Plik:RankingWyscigowka porazka2.pngPNG]]