Powrót do scenariuszy
Szkoła podstawowa
Klasa: 4-8
test
Autor:

Mateusz Błaszkiewicz

Czas reakcji

rozwój poznawczy • informatyka • programowanie
Czas:
90 min.
Roboty:
x3+
Akcesoria:
Accessory
Interfejsy:
Scratch 3.0 (Photon Magic Bridge)
alt
Powrót do scenariuszy
Scenario Image

Odniesienie do podstawy programowej

Informatyka IV-VI: II.1; II.2
Informatyka VII-VIII: II.1; II.2

Cele zajęć

Uczeń/uczennica:
  • poznaje działanie czujników odległości
  • rywalizuje, wykorzystując stworozny przez siebie program

Metody pracy

  • poznawcza

Formy pracy

  • grupowa
  • indywidualna

Materiały

  • komputer
  • (Nieobowiązkowo) Grafika z tłem do programu (załacznik 1)

Załączniki

Załącznik 1: Tło programu Scratch
Pobierz
Załącznik 2: Program z przykładowym rozwiązaniem
Pobierz

Przebieg zajęć

Wstęp

Prowadzący pyta dzieci, czy wiedzą, gdzie przydaje się szybki czas reakcji, czy znają przykłady gdzie się go stosuje np. telewizyjne quizy i teleturnieje, wyścigi samochodowe i inne zawody sportowe.

Celem zajęć jest stworzenie programu - gry dla dwóch osób, które rywalizowały będą między sobą w tym, która z nich ma szybszy czas reakcji. Wykorzystamy trzy roboty:

  • jeden będzie pełnił funkcję sędziego - będzie wyświetlał różne kolory za pomocą swoich czułek i oczu.
  • dwa posłużą za urządzenia do pomiaru czasu reakcji. W przypadku wyświetlenia konkretnego koloru przez sędziego, dzieci będa miały za zadanie jak najszybciej zasłonić czujnik odległości swojego robota. Na potrzeby zajęć załóżmy, że kolorem tym będzie czerwony.

Zasłonięcie czujnika szybciej niż zrobi to przeciwnik, spowoduje nadanie punktu dla zwycięzcy i przejście dalej do sekwencji wyświetlania się losowych kolorów. Dla utrudnienia i podniesienia emocji kolory mogą się również wyświetlać w losowych odstępach czasu.

Zadanie 1 - Interfejs programu

  • Zadaniem pierwszym jest stworzenie tła programu, tak, by odpowiednio wyświetlały się punkty zdobyte przez każdego gracza. Jednocześnie należy stworzyć też dwie zmienne np. robot1 i robot2, które będą przechowywały punkty zdobyte przez każdego gracza oraz wprowadzić skrypt rozpoczątkujący działanie programu:
    • wyzerować wartości zmiennych
    • ustawić początkowe kolory, które pozwolą odróżnić sędziego od urządzeń do pomiaru czasu reakcji.
  • Można wykorzystać tło z załączników (Załacznik 1: Tło)

Przykładowe rozwiązanie:

Zadanie 2 - Losowanie kolorów

  • Zadaniem drugim jest stworzenie skryptu, który w losowych odstępach czasu wyświetlał będzie również losowy kolor i przypisywał do zmiennej, jaki kolor został wybrany. Zmienna ta pozwoli w przyszłości sprawdzić, czy gracz zareagował na właściwy kolor.
  • Możemy wykorzystać narzędzie tworzenia własnych bloków (zakładka Moje bloki / Utwórz blok) do stworzenia funkcji LosujKolor

Przykładowe rozwiązanie:

 

Zadanie 3 - Badanie czasu reakcji

  • Ostatnim zadaniem jest określenie, który z graczy zareagował szybciej oraz czy zareagował na poprawny kolor. W tym celu wykorzystamy czujnik odległości robota.
  • Domyślnie, gdy nic go nie zasłania, pokazuje on wartości w okolicach 200, w momencie zasłonięcia staje się bardziej czuły i jest w stanie zwrócić przybliżoną wartość odległości w centymetrach.
  • Wykorzystamy zagnieżdżone instrukcje warunkowe, by sprawdzić najpierw:
    • czy gracz w ogóle zareagował,
    • a następnie czy zareagował, gdy kolor wskazany przez sędziego był czerwony.
  • W momencie, gdy pierwszy gracz zareaguje i zasłoni czujnik, dostaje punkt i mimo, że jego przeciwnik zapewne zareagował prawie w tym samym momencie, to jednak był on wolniejszy o ułamek sekundy.
  • Robot wolniejszego gracza wskazuje mu, że przegrał aktualne starcie, a zwycięzcę informuje o wygranej za pomocą odpowiedniego dźwięku emocji.
  • Aby móc sprawdzić, czy gracz przegrał, należy zmienić wartość zmiennej, która służy do sprawdzenia aktualnego koloru:

Uwaga: należy to zrobić w pierwszej kolejności, robot wykonując dźwięk emocji czy wyświetlając kolor "wstrzymuje" program, do czasu aż dana czynność zostanie wykonana.

Przykładowe rozwiązanie:

  • Roboty otrzymują swój numer w kolejności połączenia z Magic Dongle. By rozpoznać "który jest który", wykorzystaj lupę przy numerze robota.

Czas na zabawę!

Najwyższy czas rozpocząć rywalizację! Uruchamiamy program, określamy, ile punktów trzeba zdobyć by wygrać i wyłaniamy mistrza reakcji!

Podsumowanie

Czy dzieci mają jakiś pomysł na rozbudowanie programu? Można na przykład:

  • określić liczbę punktów, która wyłoni zwycięzcę.
  • wprowadzić ujemne punkty za złą reakcję.
  • rozbudować interfejs programu w środowisku Scratch.

Jeśli masz do dyspozycji większą liczbę robotów, możesz zawsze rozbudować program o kolejne stanowiska i włączyć do gry kilka osób :)

 

Ciekawostki/Pytania otwierające

Czy dzieci znają zasady tworzenia zmiennych? Warto przed zajęciami przekazać kilka ogólnie przyjętych norm dla większości popularnych języków programowania:

  • w większości języków zmienne powinny zaczynać się małą literą,
  • zmienne nie powinny zaczynać się cyfrą,
  • zmienne muszą być unikatowe to znaczy, że nie może być 2 zmiennych o tej samej nazwie,
  • zmienne nie mogą nazywać się tak, jak słowa kluczowe w programowaniu lub nazwy operatorów np. jeśli, lub, if, and itd.
  • zmienne powinny jednoznacznie wskazywać na to, co przechowują, a nazwy powinny być odpowiednio dobrane, by później nie zastanawiać się o co chodziło :) Na przykład stworzenie zmiennej o nazwie dasasfghhw2df może stworzyć problemy jeśli przechowuje ona np. wynik mnożenia.

Źródła: [1], [2]

 

Powiązane zasoby