Zmiany

Skocz do: nawigacji, wyszukiwania

Labirynt

Dodane 5161 bajtów, 11:08, 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".'''
==CelInformacje==© Oparto o Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu "Mistrzowie Kodowania" finansowanego przez Samsung Electronics Polska, objęte licencją [http://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0], [http://mistrzowiekodowania.pl/materialy-do-pobrania/download-info/modul-3/ Scenariusz zajęć Moduł III "Kot w labiryncie"] zmodyfikowane m in.: o elementy gry [http://scratch.mit.edu/projects/25323412/ Arkanoid] autorstwa [http://scratch.mit.edu/users/panSarin/ panSarin] [http://creativecommons.org/licenses/by-sa/2.0/deed.en CC BY-SA 2.0.] ===Cele===
Celem projektu jest stworzenie gry w której postać, sterowana klawiaturą, porusza się po planszy typu labirynt.
=== Gdzie wykorzystać? Jak zmodyfikować?===
Analogicznie skonstruowany projekt można wykorzystać w korelacji z dowolnym tematem zajęć np.: poprzez powiązanie zdobywaych punktów z odowiedziami na pytania, osadzenie scenariusza gry w zagadnieniach przedmiotowych.
===Poziom trudności i proponowane wersje=== Poziom trudności dla klas gimnazjum ✪✰✰✰ Gotowy projekt [http://scratch.mit.edu/projects/1802676126757033/ Labirynt] ===Orientacyjny czas realizacji===
==Informacje==
© Oparto o Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu "Mistrzowie Kodowania" finansowanego przez Samsung Electronics Polska, objęte licencją [http://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0], [http://mistrzowiekodowania.pl/materialy-do-pobrania/download-info/modul-3/ Scenariusz zajęć Moduł III "Kot w labiryncie"].
==Etapy==
==Scena ''labirynt''==
Aby stworzyć labirynt przygotowujemy tło sceny. Planszę gry można narysować w edytorze Scratch lub pobranć pobrać na stronie [http://mistrzowiekodowania.pl/materialy-do-pobrania/download-info/modul-3/ Mistrzozwie Kodowania]. Jest ona Plansza jest podzielona na 12 kolumn i 9 wierszy, odpowiednich do wymiarów sceny w programie Scratch (480x360 punktów). Pola labiryntu można wypełnić kolorem w edytorze graficznym programu Scratch ustawionym na tryb bitmapy.W prezentowanej wersji, ''Bohater'' porusza się po jednej planszy Labiryntu, a stworzone dodatkowe tła są wykorzystane jedynie jako efekt graficzny po dotarciu bohatera do punktu docelowego(niebieski kwadrat).
[[Plik:Labirynt tlo.png]]
 
Skrypt zmiany sceny uwzględnia pojawienie się odpowiedniego tła po rozpoczęciu gry (przycisk [[Plik:Kiedy kliknieto ZF.png]]) oraz zmianę tła po dotarciu duszka ''Bohater'' do niebieskiego pola.
 
[[Plik:Labirynt tło skrypt.png]]
==Duszek ''Bohater''==
W trybie wektorowym edytora graficznego programu Scratch, przygotowana została postać ''Bohater'' posiadająca trzy kostiumy. Dwa z nich umożliwiają wizualizację efektu poruszania się, trzeci jest graficzną reprezentacją utraty energii.  [[Plik:Bohater kostiumy — kopia.JPG]] Skrypty regulujący miejsce pojawienia się duszka ''Bohater'' po uruchomieniu gry, zmianę kostiumów oraz poruszanie się duszkiem przy pomocy strzałek o czterech kierunkach wyglądają nastepująco: [[Plik:Labirynt postac ruch.png]] ==Zmienna Duszek ''Punkty''====Zmienna Aby uatrakcyjnić grę, wprowadzony zostanie duszek ''EnergiaPunkty''==. W prezentowanej wersji, dotknięcie przez duszka ''Bohater'' duszka ''Punkty'' nie jest konieczne, ale przynosi korzyść w postaci zdobywania punktów. # Czy na planszy ma pojawić się jeden duszek ''Punkty''?# Jeśli więcej niż jeden - ile? Czy ma to być stała liczba, czy zmienna?# Czy tworzyć kilka duszków czy wykorzysać opcję ''klonuj''?# W jakich miejscach ma pojawić się duszek ''Punkty''?# Jeśli w zmiennych - jak wyznaczanych? W przykładowej wersji zastosowano następujące rozwiązania:# Na planszy pojawia się dziesięć duszków ''Punkty''# Dotknięcie duszka ''Punkt'' przez duszka ''Bohater'' każdorazowo umożliwia zdobycie stałej liczby punktów.# Zastosowana została opcja ''klonuj'' jako mniej ważąca dla programu.# Miejsca zostały wyznaczone formułą matematyczną.# Miejsca nie są stałe, są losowane Skrypt duszka ''Punkty'' przedstawia się następująco: [[Plik:Labirynt kropka nowy.JPG]] Uwaga: należy pamiętać o wprowadzenia do skryptu klocka ''usuń tego klona'' 
==Duszek ''Przeciwnik''==
Aby uatrakcyjnić grę, można wprowadzić przeciwników, poruszających się po planszy i np.: po zetknięciu się z duszkiem ''Bohater'', uszczuplających posiadaną ''energię''.
Przygotowany duszek ''Przeciwnik'' posiada skrypty umożliwiające:
* regulacje ukrywania/pojawiania się
* ruch po stałym torze, ale ze zmiennym zakresem oraz prędkością
 
Uwaga: Zmniejszenie wartości zmiennych energia o 1 punkt, przy każdym zetknięciu z duszkiem ''Bohater'' umieszczone zostanie w ksrypcie duszka ''Bohater''
 
[[Plik:Przeciwnik.JPG]]
 
 
==Zmienna ''Punkty'' i ''Energia'' ==
W bloku [[Zmienne]] wprowadzone zostały dwie zmienne: ''punkty'', mające rejestrować dotarcie "bohatra" do ulokowanych na planszy "Punktów". Dodatkowo wprowadzona została zmienna "energia" która rejestrować będzie wyjście duszka ''Bohater'' poza trasę labiryntu.
 
=== Modyfikacja skryptu duszka ''Bohater''===
W pierwszej kolejności ustawione zostają parametry startowe obu zmiennych:
 
[[Plik:Zmienne bohater nowy.JPG]]
 
Następnie stworzony zostanie skrypt duszka ''Bohater'' umożliwiający rejestrowanie wyjścia duszka poza labirynt, stratę ''energii'' każdorazowo przy dotknięciu przeciwnika, przy próbie przejścia poza trasę oraz blokowanie takiego przejścia i zmianę kostiumu na "zero energii" gdy postać ''Bohater'' przekroczy limit błędnych kroków.
Skrypt zostanie uzupełniony również o warunek zmiany tła na finałowe, gdy ''Bohater'' dotrze do niebieskiego pola.
 
Finałowy skrypt duszka ''Bohater'' przedstawia się następująco:
 
[[Plik:Labirynt bohater nowy.JPG]]
 
===Modyfikacja skryptu duszka ''Punkty''===
 
Analogicznie uzupełnieniu o zmienne podlega skrypt duszka ''Punkty'':
 
[[Plik:Nowa wersja kropki.JPG]]
 
==Zakończenie gry==
W tak skonstruowanym kodzie grę kończy dotarcie przez Bohatera do niebieskiego pola, uwarunkowane wyłącznie od zachowania przynajmniej jednego punktu energii. W jaki sposób uzależnić wygraną również od liczby zebranych białych kropek? Jedną z propozycji może być rozwinięcie warunku [[Plik:Jezelidotykakoloru.JPG]]
 
[[Plik:Labirynt final.JPG]]
 
==Dodatek==
W prezentowanej wersji labiryntu, pojawia się jeszcze jedna postać - duszek czarownicy ''Witch''. Jest to postać wybrana z galerii postaci programu Scratch. Nie pełni znaczącej roli w tej grze, a jej skrypt jest prosty i kontroluje jedynie moment pojawienia się oraz trasę ruchu. Można zaproponować modyfikację skryptu postaci, tak aby pełniła bardziej znaczącą funkcję w grze.
 
[[Plik:Witch.JPG]]