Temat

Mysz w labiryncie

Etap edukacyjny

Drugi

Podstawa programowa

Klasy IV‑VI

I. Rozumienie, analizowanie i rozwiązywanie problemów. Uczeń:

2) formułuje i zapisuje w postaci algorytmów polecenia składające się na:

c) sterowanie robotem lub obiektem na ekranie;

3) w algorytmicznym rozwiązywaniu problemu wyróżnia podstawowe kroki: określenie problemu i celu do osiągnięcia, analiza sytuacji problemowej, opracowanie rozwiązania, sprawdzenie rozwiązania problemu dla przykładowych danych, zapisanie rozwiązania w postaci schematu lub programu.

II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych. Uczeń:

1) projektuje, tworzy i zapisuje w wizualnym języku programowania:

a) pomysły historyjek i rozwiązania problemów, w tym proste algorytmy z  wykorzystaniem poleceń sekwencyjnych, warunkowych i iteracyjnych oraz zdarzeń,
b) prosty program sterujący robotem lub innym obiektem na ekranie komputera;

Czas

45 minut

Cel ogólny

Tworzy prostą grę planszową.

Cele szczegółowe

1. Stosuje polecenia iteracyjne.

2. Stosuje polecenia warunkowe.

3. Tworzy nowe zmienne.

Efekty uczenia

Uczeń:

- projektuje i tworzy prostą grę planszową,

- stosuje polecenia iteracyjne, warunkowe oraz tworzy nowe zmienne.

Metody kształcenia

1. Dyskusja.

2. Praca z komputerem.

Formy pracy

1. Praca indywidualna.

2. Praca grupowa.

ETAPY LEKCJI

Wprowadzenie do lekcji

Z pewnością znasz gry komputerowe, polegające na tym, że bohater chodzi po labiryncie i zbiera różne przedmioty lub unika kontaktu z nimi. Twoje zadanie polega na stworzeniu prostej wersji takiej gry.

Zastanów się, kto może być bohaterem Twojej gry, jak ma wyglądać plansza, w jaki sposób mają poruszać się postacie, jakie reguły będą w niej obowiązywać.

Realizacja lekcji

Nim przystąpisz do realizacji scenariusza swojej gry wykonaj poniższe ćwiczenia. Ćwiczenia te pokazują, jakie rozwiązania możesz wykorzystać w swojej grze.

Duszek dotyka inne obiekty:

Polecenie 1

Zbuduj skrypt, w którym duszek‑kot spotyka na swojej drodze jabłko, a po jego dotknięciu wypowiada dowolną kwestię, a następnie się cofa.

Użyj w tym celu bloczka dotyka ... koloru z kategorii Czujniki oraz wyrażenia warunkowego jeżeli ... to z kategorii Kontrola.

Wskazówka: Aby zmienić kolor w bloczku  dotyka ... koloru należy kliknąć lewym przyciskiem myszy w znajdujące się na nim pole z kolorem. Po kliknięciu kursor zmieni swój wygląd. Kursor należy przesunąć na inny obiekt na ekranie, w kolorze, którego potrzebujemy. Po ponownym kliknięciu w ten obiekt w polu bloczka zmieni się kolor.

Rozwiązanie:

Jedno z możliwych rozwiązań:

[Ilustracja 1]

Sterowanie ruchem duszka:

Polecenie 2

Chcesz, aby kierunek ruchu duszka można było zmieniać za pomocą strzałek.

Zbuduj skrypt, w którym naciśnięcie strzałki spowoduje, że duszek obróci się w żądanym kierunku.

Rozwiązanie:

Jedno z możliwych rozwiązań – naciśnięcie spacji powoduje ruch duszka. Gdy naciśniemy strzałkę, duszek zmieni swój kierunek ruchu. W którą stronę się uda, sprawdzisz naciskając ponownie spację.

[Ilustracja 2]

Plansza do gry:

Aby stworzyć planszę do gry zawierającą labirynt, możesz stworzyć ją od podstaw w dowolnym edytorze graficznym (pamiętaj, że scena w programie Scratch jest szeroka na 480 punktów i wysoka na 360 punktów). Możesz w tym celu również zmodyfikować jedno z teł z biblioteki programu o nazwie xy‑grid‑30px lub wykorzystać poniższą planszę.

[Plik]

[Ilsutracja 3]

Myszka w labiryncie:

Masz już gotową planszę. Teraz czas ustawić na niej duszki.

Polecenie 3

Na planszy ustaw dwa duszki. Dostosuj ich rozmiary tak, by mieściły się w całości w pojedynczym polu labiryntu. Dobierz współrzędne położenia duszków tak, by po zapaleniu się zielonej flagi zawsze znajdowały się w tym samym miejscu.

Wskazówka:

Wykorzystaj bloczek ustaw rozmiar na ... % z kategorii Wygląd.

Polecenie 4

Dobierz ilość kroków jednego z duszków tak, by po naciśnięciu spacji przechodził w całości na kolejne pole, a naciśnięcie strzałki powodowało zmianę kierunku jego ruchu. Drugi duszek zostaje cały czas nieruchomy.

Jeśli duszek dotknie pola poza ścieżką labiryntu, powinien cofnąć się do poprzedniej pozycji.

Wskazówka:

Wykorzystaj rozwiązanie polecenia z początku lekcji.

Rozwiązanie:

Jedno z możliwych rozwiązań:

[Ilustracja 4]

Wprowadzenie akcji do gry:

Twój duszek potrafi poruszać się już po labiryncie. Zastanów się, co powinno się stać z duszkami w momencie, gdy się spotykają.

Pamiętaj, aby poszczególne etapy swojej gry zapisywać pod różnymi nazwami, np. Labirynt_wersja1 . W ten sposób łatwiej będzie Ci wprowadzać zmiany lub wracać do udanych rozwiązań.

Polecenie 5

Zmodyfikuj poprzedni skrypt tak, aby duszek wędrujący po labiryncie „zjadał” drugiego duszka.

Wskazówka:

Gdy wędrujący duszek spotyka drugiego duszka, nadaje do niego wiadomość. Drugi duszek po otrzymaniu wiadomości wykonuje zadane polecenie. Potrzebne bloczki znajdziesz w kategorii Zdarzenia.

Rozwiązanie:

Duszek pierwszy wysyła wiadomość po napotkaniu drugiego duszka:

[Ilustracja 5]

Duszek drugi odbiera wiadomość i wykonuje polecenie:

[Ilustracja 6]

Licznik żyć:

Żadna gra nie może się obejść bez licznika punktów lub żyć. Aby dodać liczniki do gry, należy w kategorii Dane utworzyć nową zmienną. Tę zmienną używamy później do liczenia zdobytych punktów lub straconych żyć naszego bohatera gry. Po utworzeniu zmiennej automatycznie pojawiają się nowe bloczki, które używamy do budowania skryptów.

Polecenie 6

W kategorii Dane utwórz nową zmienną Życie. Przyglądnij się, jakie nowe bloczki się pojawiły. Zastanów się, jak zmodyfikować Twój kod, aby duszek po przypadkowym dotknięciu ściany labiryntu tracił jedno życie. Po wyczerpaniu liczby żyć, gra ma się skończyć.

Wskazówka: Jeśli nie jesteś pewien, jak można zastosować nowo utworzoną zmienną w kodzie, obejrzyj poniższy pokaz slajdów.

[Slideshow]

Podsumowanie lekcji

W programie Scratch możesz definiować nowe zmienne. Duszki mogą wzajemnie przekazywać sobie informacje.