Labirynt: Różnice pomiędzy wersjami

Z Wiki Mistrzowie Kodowania
Skocz do: nawigacji, wyszukiwania
 
(Nie pokazano 23 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
'''Materiały stworzone w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska'''
+
[[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".'''
  
==Cel==
+
==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"] 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.
 
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 ✪✰✰✰
  
==Informacje==
+
Gotowy projekt [http://scratch.mit.edu/projects/26757033/ Labirynt]
© 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.]
+
 
 +
===Orientacyjny czas realizacji===
  
Gotowy projekt [http://scratch.mit.edu/projects/18026761/ Labirynt]
 
  
 
==Etapy==
 
==Etapy==
 
==Scena ''labirynt''==
 
==Scena ''labirynt''==
Aby stworzyć labirynt przygotowujemy tło sceny. Planszę gry można narysować w edytorze Scratch lub pobranć na stronie [http://mistrzowiekodowania.pl/materialy-do-pobrania/download-info/modul-3/ Mistrzozwie Kodowania]. Plansza jest podzielona na 12 kolumn i 9 wierszy. Pola labiryntu można wypełnić kolorem w edytorze graficznym programu Scratch ustawionym na tryb bitmapy.
+
Aby stworzyć labirynt przygotowujemy tło sceny. Planszę gry można narysować w edytorze Scratch lub pobrać na stronie [http://mistrzowiekodowania.pl/materialy-do-pobrania/download-info/modul-3/ Mistrzozwie Kodowania]. Plansza jest podzielona na 12 kolumn i 9 wierszy. 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).  
 
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).  
  
Linia 26: Linia 34:
 
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.  
 
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:Labirynt bohater.png]]
+
[[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:
+
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]]
 
[[Plik:Labirynt postac ruch.png]]
Linia 42: Linia 50:
  
 
W przykładowej wersji zastosowano następujące rozwiązania:
 
W przykładowej wersji zastosowano następujące rozwiązania:
# Na planszy pojawia się więcej niżjeden duszek ''Punkty"
+
# Na planszy pojawia się dziesięć duszków ''Punkty''
# Ich liczba jest zmienna, nie większa niż 10.
+
# 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.
 
# Zastosowana została opcja ''klonuj'' jako mniej ważąca dla programu.
 
# Miejsca zostały wyznaczone formułą matematyczną.
 
# Miejsca zostały wyznaczone formułą matematyczną.
# Miejsca nie są stałe, są losowane.
+
# Miejsca nie są stałe, są losowane
  
Na tym etapie prac skrypt duszka ''Punkty'' przedstawia się następująco:
+
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]]
  
[[Plik:Labirynt punkty skrypt.png]]
 
  
 
==Zmienna ''Punkty'' i ''Energia'' ==
 
==Zmienna ''Punkty'' i ''Energia'' ==
W bloku [[Zmimenne]] 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.
+
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''===
 
=== Modyfikacja skryptu duszka ''Bohater''===
 
W pierwszej kolejności ustawione zostają parametry startowe obu zmiennych:
 
W pierwszej kolejności ustawione zostają parametry startowe obu zmiennych:
  
[[Plik:Skrypt zmienna punkty.png]]
+
[[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 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.  
+
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.
 
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:
 
Finałowy skrypt duszka ''Bohater'' przedstawia się następująco:
  
[[Plik:Bohater calosc.png]]
+
[[Plik:Labirynt bohater nowy.JPG]]
  
 
===Modyfikacja skryptu duszka ''Punkty''===
 
===Modyfikacja skryptu duszka ''Punkty''===
  
Analogicznie uzupełnieniu podlega skrypt duszka ''Punkty'':
+
Analogicznie uzupełnieniu o zmienne podlega skrypt duszka ''Punkty'':
  
[[Plik:Punkty final.png]]
+
[[Plik:Nowa wersja kropki.JPG]]
  
==Duszek ''Przeciwnik''==
+
==Zakończenie gry==
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ę''.
+
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]]
Przygotowany duszek ''Przeciwnik'' posiada skrypty umożliwiające:
+
 
* regulacje ukrywania/pojawiania się
+
[[Plik:Labirynt final.JPG]]
* ruch po stałym torze, ale ze zmiennym zakresem oraz prędkością
+
 
* zmniejszenie wartości zmiennych energia o 1 punkt, przy każdym zetknięciu z duszkiem ''Bohater''
+
==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:Przeciwnik labirynt.png]]
+
[[Plik:Witch.JPG]]

Aktualna wersja na dzień 12:08, 7 lis 2014

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

© 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ą CC-BY-SA 3.0, Scenariusz zajęć Moduł III "Kot w labiryncie" zmodyfikowane m in.: o elementy gry Arkanoid autorstwa panSarin 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 Labirynt

Orientacyjny czas realizacji

Etapy

Scena labirynt

Aby stworzyć labirynt przygotowujemy tło sceny. Planszę gry można narysować w edytorze Scratch lub pobrać na stronie Mistrzozwie Kodowania. Plansza jest podzielona na 12 kolumn i 9 wierszy. 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).

Labirynt tlo.png

Skrypt zmiany sceny uwzględnia pojawienie się odpowiedniego tła po rozpoczęciu gry (przycisk Kiedy kliknieto ZF.png) oraz zmianę tła po dotarciu duszka Bohater do niebieskiego pola.

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.

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:

Labirynt postac ruch.png

Duszek Punkty

Aby uatrakcyjnić grę, wprowadzony zostanie duszek Punkty. W prezentowanej wersji, dotknięcie przez duszka Bohater duszka Punkty nie jest konieczne, ale przynosi korzyść w postaci zdobywania punktów.

  1. Czy na planszy ma pojawić się jeden duszek Punkty?
  2. Jeśli więcej niż jeden - ile? Czy ma to być stała liczba, czy zmienna?
  3. Czy tworzyć kilka duszków czy wykorzysać opcję klonuj?
  4. W jakich miejscach ma pojawić się duszek Punkty?
  5. Jeśli w zmiennych - jak wyznaczanych?

W przykładowej wersji zastosowano następujące rozwiązania:

  1. Na planszy pojawia się dziesięć duszków Punkty
  2. Dotknięcie duszka Punkt przez duszka Bohater każdorazowo umożliwia zdobycie stałej liczby punktów.
  3. Zastosowana została opcja klonuj jako mniej ważąca dla programu.
  4. Miejsca zostały wyznaczone formułą matematyczną.
  5. Miejsca nie są stałe, są losowane

Skrypt duszka Punkty przedstawia się następująco:

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

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:

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:

Labirynt bohater nowy.JPG

Modyfikacja skryptu duszka Punkty

Analogicznie uzupełnieniu o zmienne podlega skrypt duszka Punkty:

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 Jezelidotykakoloru.JPG

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.

Witch.JPG