Gra w żabę – skakanie na czas

Instrukcja zakodowania “gry w żabę”

Czas trwania: (2x45min)

  • dwie jednostki lekcyjne najlepiej w jednym bloku
  • pierwsza godzina – omówienie zasad gry i zaprogramowanie płytki Micro:Bit
  • druga godzina – testowanie gry, zawody, usprawnienia i modyfikacje

Zasady gry

Gracz ma za zadanie w określonym czasie (np. 20 sekund) pokonać ustawiony w klasie lub (lepiej) na korytarzu skokowy tor, wykonując jak największą liczbę skoków – tor jest zapętlony – im więcej razy uda się go pokonać tym lepiej.

Ponownie wykorzystujemy czujnik ruchu – czyli czujnik przyspieszenia (ziemskiego) czyli AKCELEROMETR do wykrywania skoków. Jednocześnie wbudowany w płytkę zegar mierzy czas jaki mamy na pokonanie skokowego toru przeszkód.

W tej grze płytka Micro:Bit pełni funkcję prostego akcesorium – miernika skoków i czasu. Jakość zabawy w największym stopniu zależy od ustalenia ciekawego toru skoków do pokonania.

Co potrzebujesz:

Narzędzia:

  • Zestaw Micro:Bit dla pary uczniów

    – płytka BBC Micro:Bit
    – kabel micro USB – najlepiej z magnetyczną odczepianą końcówką
    – zasilanie płytki – sugerowane dwie baterie AAA (małe paluszki) + koszyk na baterie

  • Komputery dla uczniów (1 dla pary), rzutnik lub tablica interaktywna dla nauczyciela
    Przeglądarka internetowa Chrome

Co uczniowie powinni umieć przed przystąpieniem do lekcji:

  • znajomość liczb ujemnych i wartości bezwzględnej
  • rozumienie konceptu zmiennych logicznych – PRAWDA / FAŁSZ
  • rozumienie konceptu instrukcji warunkowych – JEŻELI, JEŻELI / W PRZECIWNYM RAZIE
  • podstawowa umiejętność obsługi płytki MB – wgrywanie programów

Przebieg lekcji

1. Wprowadzenie

Tłumaczymy uczniom zasady gry, którą będziemy tworzyć, aby lepiej zademonstrować na czym będzie polegała zabawa możemy przeprowadzić pokaz dając jednemu z uczniów zaprogramowaną płytkę MB z wgranym programem gry w żabę. Uczeń ma za zadanie “przeskakać” z uruchomionym programem zadaną trasę. Sprawdzamy działanie gotowego “skokomierza” z kilkoma chętnymi uczniami.

2. Przygotowanie do pracy

Gdy mamy pewność, że wszyscy uczniowie rozumieją zasady gry nad którą będziemy pracować przystępujemy do programowania.

Przygotowanie do pracy

Uruchamiamy aplikację MakeCode i podłączamy płytkę Micro:Bit do komputera
Jeśli trzeba parujemy płytkę z komputerem (procedura parowania opisana jest w lekcji nr 3)
Aby upewnić się, że jesteśmy gotowi do pracy wgrywamy jakikolwiek podstawowy program na płytkę np. wyświetlenie serduszka na matrycy LED

3. Programowanie

W grze w żabę wykorzystujemy dwie funkcji płytki Micro:Bit

  • Wykrywanie i liczenie ilości skoków
  • Mierzenie upływającego czasu

Liczenie ilości skoków

Zacznijmy od mierzenia ilości skoków – zaprogramujmy Micro:Bit jako skokomierz.
Skoki wykrywać będziemy przy pomocy bloczka NA [POTRZĄŚNIJ] z kategorii WEJŚCIE.
Aby przechować ich ilość w pamięci stwórzmy zmienną o nazwie SKOKI, ilość skoków pokazujemy na wyświetlaczu LED.

Z wykrycie każdego kolejnego potrząśnięcia (skoku) zwiększamy wartość zmiennej SKOKI i 1.

Odmierzanie czasu

Upływający czas odliczamy przy pomocy bloczka CZAS PRACY (ms) (kategoria WEJŚCIE, zakładka WIĘCEJ) – płytka MB nie ma wbudowanego zegara czasu rzeczywistego (nie poda nam aktualnej godziny) może jedynie mierzyć czas jaki upłynął od jej uruchomienia, wartość ta podawana jest w milisekundach – czyli tysięcznych sekundy – 1 sekunda = 1000 milisekund.

Wyświetlmy upływający czas przy pomocy bloczka PLOT BAR GRAPH – jako zakres grafu na początek podajmy wartość 10 000 czyli 10 sekund.

W ten prosty sposób zaprogramowaliśmy dwie podstawowe funkcje naszej gry – odliczanie skoków i odmierzanie czasu. Musimy je jeszcze połączyć ze sobą poprzez określenie logicznych reguł gry. Reguła jest tym razem tylko jedna – do momenty aż upłynie wyznaczony czas odliczaj wykonane skoki, po upływie czasu przestań liczyć skoki i pokaż ich liczbę na wyświetlaczu.

Stwórzmy kolejną zmienną, która będzie określać czy gra jeszcze trwa (gra trwa dopóki nie skończy się zadany czas) – nazwijmy ją GRA, będzie ona miała wartość logiczną PRAWDA lub FAŁSZ.

1. Po uruchomieniu płytki gra rozpoczyna się – GRA = PRAWDA
Wyświetlmy też jakiś obrazek na wyświetlaczu, żeby był widoczny sygnał, że gra się rozpoczęła.

2. Kiedy gra trwa (GRA = PRAWDA) odliczaj skoki (zwiększaj zmienną SKOKI o 1)

3. Kiedy gra trwa (GRA = PRAWDA) odliczaj czas i pokazuj jego upływ na wyświetlaczu. Kiedy czas przekroczy określoną przez nas wartość zakończ grę (ustaw GRA na FAŁSZ) i pokaż liczbę skoków.

Nasza gra jest już prawie w całości zaprogramowana. Ostatnia funkcja, która nam się przyda to jakiś prosty sposób na restartowanie gry – np. poprzez naciśnięcie przycisku. Najłatwiejszym sposobem na rozpoczęcie gry od początku będzie zresetowanie całej płytki – do tego celu wykorzystamy bloczek ZRESETUJ z zakładki ZAAWANSOWANE – STEROWANIE

Gotowy program