Zmiany

Skocz do: nawigacji, wyszukiwania

Moduł 4 - "Kot zastawia pułapkę na mysz"

Usunięte 344 bajty, 20:44, 7 lip 2015
/* Zaprojektowanie i napisanie programu automatycznie sterującego duszkami – Kot czyhający w pułapce na Myszkę */
: ''Naprowadzamy uczniów na to, że serek powinien być kolejnym duszkiem. Dzięki temu łatwiej będzie wprowadzić interakcję Myszki, która złapie serek (wygra) – nie dając się jednocześnie złapać Kotkowi. Łatwiej będzie też kierować Myszkę do serka – na takiej samej zasadzie jak wcześniej Kotek kierował się do Myszki (w projekcie z II modułu).''
[[Plik:Scr old p 4 62015-07-07 16.jpg24.26 (1).png]]
'''Zadanie:''' Prosimy uczniów, by dodali do projektu kolejnego duszka do sceny projektu, samodzielnie narysowali dla niego kostium przypominający ser oraz zmienili nazwę na Serek.
'''Zadanie:''' Prosimy uczniów, by stworzyli skrypt dla Kotka, który po uruchomieniu narysuje pułapkę i go przetestowali. Przypominamy, że wcześniej na zajęciach rysowaliśmy już kwadrat.
'''Dyskusja:''' Po stworzeniu skryptu przez uczniów przeglądamy rozwiązania, a następnie dyskutujemy nad udoskonaleniem rozwiązania. : ''Powinniśmy zwrócić uwagę na następujące elementy:'' :* ''ustawienie kotka na pozycji początkowej (serek powinien być zawsze w środku),'' :* ''wyczyszczenie ekranu, przed narysowaniem pułapki, '':* ''ustawienie wybranego koloru ścian pułapki, '':* ''zwrócenie kotka w kierunku prawej strony sceny do rysowania ścian pułapki, '':* ''pogrubienie linii pułapki, '':* ''ustawienie kotka w kierunku prawej strony sceny, tak by czyhał, czy Myszka nie nadchodzi.''
:''Z projektów uczniowskich warto wybrać ten, który najwięcej z powyższych elementów realizuje i pokazać jako wzór. '':''Wybierając projekt do pokazania warto również zwrócić uwagę na sposób rysowania kwadratu – czy wykorzystany został klocek '''powtórz <3> razy ''' oraz czy po zakończeniu rysowania pisak został podniesiony, inne rozwiązanie może później sprawiać problemy. ''
'''Zadanie:''' Prosimy uczniów by uzupełnili skrypt Kotka, według powyższych ustaleń. ''Ustalenia warto zapisać lub rozrysować na tablicy. Po wykonaniu sprawdzamy rozwiązania uczniów i w razie potrzeby indywidualnie pomagamy. W przypadku, gdyby uczniowie mieli problemy, warto wspólnie omówić, które klocki mogą się przydać do realizacji zadania.''
: ''Ustalenia warto zapisać lub rozrysować na tablicy. Po wykonaniu sprawdzamy rozwiązania uczniów i w razie potrzeby indywidualnie pomagamy. '': ''W przypadku, gdyby uczniowie mieli problemy, warto wspólnie omówić, które klocki mogą się przydać do realizacji zadania.'' [[Plik:Scr old p 4 32015-07-07 16.22.57.png]] [[Plik:2015-07-07 16.21.57 (1).jpg|center‎png]]
'''Przykładowy skrypt Kotka może wyglądać następująco:'''
''Omówienia wymaga zadanie '''Ominąć ścianę'''. Dyskutujemy z uczniami, co myszka powinna zrobić, żeby odnieść sukces, gdy natknie się na ścianę. Powinniśmy dojść do wniosku, że jeśli za każdym razem, gdy natknie się na ścianę, cofnie się tyle kroków, ile szła na przód, a następnie skręci w prawo (o 90 stopni, by iść równolegle do ściany) i przejdzie kilka kroków, to na pewno w końcu ominie ścianę, a także uniknie spotkania z Kotkiem.''
[[Plik:Scr old p 4 72015-07-07 17.jpg55.49.png]]
'''Zadanie:''' Prosimy, by uczniowie zgodnie z zapisanymi ustaleniami stworzyli skrypt Myszki oraz przetestowali go.
[[Plik:Scr old p 4 82015-07-07 16.jpg18.08.png]]
'''Przykładowy skrypt Myszki może wyglądać następująco:'''
[[Plik:Scr olg p3 4.png]]
===Dodanie losowości w poruszaniu się myszki ===
'''Zadajemy pytanie''': Co możemy zrobić, żeby nasz program nie był tak bardzo przewidywalny – żeby czasem Kotkowi udało się schwytać Myszkę w zastawioną przez niego pułapkę.
<br/> : ''Pomysły mogą być różne. Naprowadzamy uczniów, że Myszka powinna próbować skręcić w lewo, a innym razem w prawo, bo nie ma pewności gdzie jest Kotek (na górze, czy na dole). Pytamy, na jakiej podstawie Myszka może podjąć taką decyzję, nie wiedząc, po której stronie czeka Kotek. Możemy nawiązać do sytuacji, gdy trzeba wybrać np. przed meczem, która drużyna zaczyna grę. Często wówczas rzuca się monetą. Czyli losuje.''
'''Zadanie:''' Prosimy, by uczniowie odnaleźli klocek związany z losowaniem.
'''Zadajemy pytanie:''' Z jakiej puli liczb powinniśmy losować? Od czego to uzależniamy?
 : ''Myszka może skręcić w lewo lub w prawo. Powinniśmy więc wylosować jedną z dwóch wartości – np. 1 lub 2. Wówczas możemy przyjąć, że 1 będzie oznaczało skręt w prawo, a 2 skręt w lewo. Zastawiamy się, jak podjąć decyzję po wylosowaniu wartości. Jakich klocków do tego możemy użyć.''
: ''Uczniowie dojdą do wniosku, że przyda się klocek '''jeżeli'''. Lepszym jednak rozwiązaniem będzie klocek '''jeżeli… w przeciwnym wypadku'''. Pozostaje problem, co należy wstawić w warunku jeżeli. Uczniowie zapewne dojdą do wniosku, że wynik losowania. Jednak ten trzeba porównać z ustaloną wartością (np. jedynką). Wspólnie z uczniami tworzymy i objaśniamy kawałek skryptu odpowiadający za losowanie i wybór kierunku, w jakim Myszka ma się obrócić. Zwracamy szczególną uwagę na porównywanie wartości dające w odpowiedzi informację zwrotną '''prawda''' lub '''fałsz'''. ''
[[Plik:Scr olg p3 6.png]]
: ''Zmodyfikowany fragment skryptu powinien wyglądać jak na poniższej ilustracji. ''
[[Plik:Scr olg p3 7.png]]
'''Zadanie:''' Prosimy, by uczniowie zmodyfikowali skrypt i wprowadzili zasadę, że myszka w przypadku dotknięcia ściany losuje, w którą stronę ma skręcić oraz przetestowali program. : ''Efekt jest praktycznie zawsze ten sam. Myszka tkwi przy ścianie. Dyskutujemy dlaczego tak się dzieje. Dochodzimy do wniosku, że Myszka losując po każdym dotknięciu ściany, w którą stronę ma skręcić praktycznie kręci się w miejscu (ponieważ raz obraca się w lewo, raz w prawo). Zastanawiamy się z uczniami, co należałoby zrobić, żeby Myszka mogła pójść dalej. Stwierdzamy, że powinna podjąć decyzję na początku, w którą stronę będzie skręcała, jeśli natknie się na ścianę. Decyzję musi jakoś zapamiętać. Do tego potrzebna będzie jej pamięć. W programach komputerowych do zapamiętywania różnych rzeczy wykorzystuje się zmienne, więc nauczymy się je stosować. Możemy porównać zmienną do szuflady, w której coś chowamy i możemy to potem wykorzystać.''
'''Zadanie:''' Prosimy, by uczniowie przeszli do kategorii bloczków '''Dane''', a następnie utworzyli zmienną o nazwie '''lewo czy prawo'''. W tym celu powinni wybrać przycisk '''Stwórz zmienną'''. W oknie '''Nazwa zmiennej''' powinni wpisać lewo czy prawo.
: ''W przypadku pytań, czy zmienna ma być dostępna tylko dla tego (aktualnie wybranego) duszka, czy dla wszystkich duszków – prosimy by uczniowie pozostawili opcję domyślną, dla wszystkich duszków.''
Omawiamy z uczniami, jakie nowe opcje pojawiły się w zmiennych, oraz w jaki sposób należy teraz zmodyfikować skrypt Myszki. Dochodzimy do wspólnego wniosku, że losowanie powinno nastąpić zaraz po uruchomieniu programu, a jego wynik zapamiętany w zmiennej lewo czy prawo poprzez ustawienie jej wartości. Zmienić też należy fragment podejmowania decyzji – zamiast losowania, należy tam do porównania wstawić zmienną lewo czy prawo.
[[Plik:Scr olg p3 8.png]]
: ''Omawiamy z uczniami, jakie nowe opcje pojawiły się w zmiennych, oraz w jaki sposób należy teraz zmodyfikować skrypt Myszki. Dochodzimy do wspólnego wniosku, że losowanie powinno nastąpić zaraz po uruchomieniu programu, a jego wynik zapamiętany w zmiennej '''lewo czy prawo''' poprzez ustawienie jej wartości. Zmienić też należy fragment podejmowania decyzji – zamiast losowania, należy tam do porównania wstawić zmienną '''lewo czy prawo'''. ''
'''Zadanie:''' Prosimy, by uczniowie wprowadzili zmiany do skryptu, a następnie przetestowali wielokrotnie program.
[[Plik:Scr olg p3 9.png]]
'''===Propozycje zadań dodatkowych do samodzielnej realizacji przez uczniów''' ===
# Losujemy pozycję kotka przy pułapce, czy ma być ustawiony u góry czy u dołu pułapki.
# Dodajemy obsługę klawiszy L oraz P odpowiednio zmieniających, w którą stronę skręcać ma Myszka, oraz klawiszy G i D ustalających, gdzie ma czekać kotek na Myszkę.
# Zmieniamy skrypt Kotka w taki sposób, by poruszał się losowo góra-dół przy lewej krawędzi ekranu.
568
edycji