Zmiany

Skocz do: nawigacji, wyszukiwania

Akwarium

Dodane 34 bajty, 20:48, 5 lis 2016
Pracę zaczynamy od wprowadzenia do środowiska Scretch - opowiadamy na czym polega tworzenie programu, o scenie na której będzie odtwarzany nasz program - np. gra komputerowa, o duszkach, czyli postaciach, którymi możemy sterować poprzez stworzenie dla nich odpowiedniego skryptu by reagowały np. na naciśnięcie klawisza czy myszkę komputera. Zwracamy uwagę na klocki podzielone na różne kategorie oraz obszar skryptów, do którego klocki można przeciągać, łącząc je w program. Zwracamy także uwagę na przyciski uruchamiające i zatrzymujące działanie programu.
[[Plik:a01ak01.jpg|500px|thumb|center|rys. 1]]
Następnie zadajemy pytanie, co się dzieje w akwarium, w którym pływa kilka rybek. Czekamy na odpowiedzi. Możemy je zanotować, a w razie potrzeby nakierować uczestnika (lub uczestników), w taki sposób, by wywiązała się krótka dyskusja i byśmy uzyskali odpowiedzi podobne do niżej zapisanych.
'''''Wskazówka''' Pracę możemy także zacząć od przygotowanej sceny i duszków, tak by pokazać najważniejsze - jak tworzyć skrypty, szczególnie, jeśli mamy do czynienia z uczestnikami potrafiącymi już to zrobić, a więc znającymi nieco środowisko Scratch''
[[Plik:a02ak02.jpg]]
[[Plik:a03ak03.jpg]]
'''''Wskazówka''' Możemy także podpowiedzieć, że rybkę mo żna samodzielnie namalować, albo gotowej postaci zmienić kolory. Możemy także dodać zdjęcie rybki - np. pobrane z internetu. Warto jednak zwrócić uwagę na prawa autorskie!''
[[Plik:a04ak04.jpg]]
[[Plik:a05ak05.jpg]]
[[Plik:a06ak06.jpg]]
Zadajemy pytanie, czy dodane postaci rybek nie są zbyt duże, a następnie pokazujemy jak je zmniejszyć oraz umieścić w różnych punktach akwarium.
''W'''skazówka''' Pokazujemy, że do powiększania i zmniejszania duszka służą ikonki:!
[[Plik:a07ak07.jpg]]
które należy wybrać, a następnie klikać w duszka, aż uzyskamy żądaną wielkość''
[[Plik:a08ak08.jpg]]
Upewniamy się, że mamy wszystkie kroki za sobą, wybieramy pierwszą rybkę a w środkowej kolumnie zakładkę Skrypty.
[[Plik:a09ak09.jpg]]
Zaglądamy do naszych notatek, co robią rybki w akwarium i wybieramy punkt dotyczący ich ruchu. Na początek będziemy chcieli, żeby rybki zaczęły pływać. Prosimy, by uczestnik(cy) odnaleźli kategorię dotyczącą ruchu i odpowiedni klocek.
[[Plik:a10ak10.jpg]]
Zwracamy uwagę, że mogą zmienić liczbę kroków, o jaką duszek będzie się przysuwał - np. na 20. Prosimy, aby kliknęli go parę razy i sprawdzili co się dzieje (przesuwa się). Następnie prosimy, żeby klocek przesuń o (10) kroków przesunięty został w obszar skryptu. Pytamy, co trzeba zrobić, aby uruchomić program (kliknąć znaczek zielonej flagi). Pytamy, czy rybka teraz się porusza? (nie). Zadajemy pytanie, czy czegoś nam brakuje? (klocek nie jest z niczym połączony - ani od góry, ani od dołu - a jego wygląd sugeruje, że powinien). Prosimy, by uczestnik(cy) odnaleźli odpowiednie klocki pasujące z obu stron. Najpierw klocek reagujący na kliknięcie zielonej flagi.
'''''Wskazówka''' W razie potrzeby, podpowiadamy, gdzie ich szukać (w jakich kategoriach - odpowiednio Zdarzenia oraz Kontrola.''
[[Plik:a11ak11.jpg]]
Prosimy, aby przesunęli i połączyli klocek z wcześniej dodanym.
[[Plik:a12ak12.jpg]]
Następnie prosimy o odnalezienie klocka kończącego program, którego nie da się połączyć od do łu z żadnym innym klockiem. Podpowiadamy, że czasem nie widać wszystkich klocków i trzeba skorzystać z możliwości przewijania listy, na której się znajdują. Uczestnicy powinni odnaleźć klocek zatytułowany zatrzymaj wszystko oraz zauważyć, że można go przestawić na tryb zatrzymaj ten skrypt, lub zatrzymaj inne skrypty duszka.
[[Plik:a13ak13.jpg]]
'''''Wskazówka''' Klocek zatrzymaj wszystko zatrzymuje wszystkie skrypty stworzone przez programistę. Klocek zatrzymaj ten skrypt zatrzymuje działanie skryptu, w którym został użyty, zaś zatrzymaj inne skrypty duszka zatrzymuje pozostałe skrypty z wyjątkiem tego, w którym został użyty. Przyda się to w dalszej części zajęć.''
Prosimy, aby przesunęli i połączyli klocek z wcześniej dodanym.
[[Plik:a14ak14.jpg]]
Następnie prosimy o przetestowanie programu, tj. kliknięcie zielonej flagi. Rybka porusza się tylko o wpisaną liczbę kroków. Dyskutujemy, że my byśmy chcieli, by poruszała się cały czas.
'''''Wskazówka''' W razie potrzeby, podpowiadamy, gdzie go szukać (w jakiej kategorii - Kontrola)''
[[Plik:a15ak15.jpg]]
Prosimy, aby przesunęli i połączyli klocek z wcześniej dodanymi. Pokazujemy jak rozłączać i łączyć klocki. Zauważamy, że jeden z klocków - Zatrzymaj ten skrypt nie da się (sensownie) ponownie połączyć, więc możemy go wyrzucić przesuwając nad klocki znajdujące się w środkowej kolumnie.
[[Plik:a16ak16.jpg]]
Następnie prosimy o przetestowanie programu, tj. kliknięcie zielonej flagi. Rybka porusza się, aż dotrze do krawędzi sceny. Podpowiadamy, że możemy ją chwycić myszką i przesunąć w inne miejsce, ale zawsze będzie podążała do krawędzi sceny w tą samą stronę.
Proponujemy by odszukać w kategorii Ruch klocek, który umożliwił by jej zmianę kierunku ruchu po dotarciu do krawędzi sceny, czyli odbicie od krawędzi sceny.
[[Plik:a17ak17.jpg]]
Zadajemy pytanie, gdzie powinniśmy wstawić ten klocek, a następnie prosimy by uczestnicy przetestowali jego działanie - jeżeli program nie był wcześniej zatrzymany - klocek zacznie działać automatycznie.
[[Plik:a18ak18.jpg]]
Zauważamy, że rybka pływa bardzo szybko - zadajemy pytanie, co zrobić, by ją zwolnić (zmienić liczbę kroków, o jaką się przesuwa przy każdym wykonaniu polecenia - np. na 5).
Następnie zauważamy, jeżeli uczestnicy sami tego nie zrobili, że po odbiciu rybka płynie na plecach - brzuszkiem do góry. Prosimy by odnaleźli odpowiedni klocek w kategorii Ruch, który pozwoliłby zmienić sposób obracania się rybki.
[[Plik:a19ak19.jpg]]
Dyskutujemy, gdzie należy umieścić ten klocek. W razie potrzeby tłumaczymy, że wystarczy go zamieścić przed pętlą zawsze, bo nie ma potrzeby za każdym razem powtarzać tego ustawienia. To jest także okazja, do wytłumaczenia pojęcia pętli oraz jak działa pętla zawsze (znajdujące się w niej polecenia są powtarzane po kolei bez końca - jak wykonane zostanie ostanie polecenie znajdujące się wewn ątrz pętli, wracamy do pierwszego z nich).
[[Plik:a20ak20.jpg]]
Dyskutujemy, czego nam teraz brakuje w ruchu naszej rybki (żeby pływała bardziej chaotycznie - trochę do góry, trochę na dół).
Prosimy o odnalezienie klocka, który pozwoliłby na obrócenie rybki - czyli zmianę kierunku jej ruchu.
[[Plik:a21ak21.jpg]]
Uczestnicy powinni znaleźć klocki obróć o 15 stopni. Zwracamy uwagę, że jeden obraca duszka zgodnie z ruchem wskazówek zegara, drugi w przeciwną stronę. Mogą zauważyć także inne klocki związane z kierunkiem ruchu np. ustaw kierunek na 90 stopni lub ustaw w stronę. Tłumaczymy jednak w razie potrzeby, że te klocki także można wykorzystać, lecz na razie zależy nam na obróceniu rybki. Różnica polega na tym, że w przypadku klocka obróć o 15 stopni, obrót nastąpi w zależności od aktualnego kierunku. W przypadku pozostałych klocków postać ustawi się niezależnie od niego.
Dyskutujemy, gdzie należy umieścić ten klocek (wewnątrz pętli zawsze). Prosimy o jego zamieszczenie i sprawdzenie, jak zachowuje się rybka.
[[Plik:a22ak22.jpg]]
Rybka porusza się po okręgu - mniejszym lub większym, w zależności od liczby kroków podanej w klocku przesuń o (10) kroków. Możliwy jest również przypadek, gdzie rybka będzie odbijała się od brzegu - wówczas jej ruch będzie odbywał się „wężykiem” tuż przy krawędzi sceny.
Prosimy by wstawili go w odpowiednie miejsce i przetestowali działanie.
[[Plik:a24ak24.jpg]]
Jest nieco lepiej, ale rybka porusza się dość monotonnie, a tor jej ruchu jest zawsze związany z pętlami zataczanymi w jedną stronę.
Oba rozwiązania będą miały podobne działanie.
[[Plik:a25ak25.jpg]]
'''''Wskazówka''' Niezależnie od wybranego rozwiązania warto poprosić uczestników o poeksperymentowanie ze zmianą wartości losowanych i obserwowanie zmian w zachowaniu rybki.''
Prosimy, by uczestnicy poszukali klocka reagującego na wciśnięcie klawisza myszy w kategorii Czujniki.
[[Plik:a26ak26.jpg]]
Prosimy, by uczestnicy przenieśli znaleziony klocek do obszaru skryptów, ale na razie nie łączyli go z innymi.
jakieś polecenie, pod warunkiem, że został wciśnięty klawisz myszy? Sugerujemy, by kierowali się jego nazwą oraz możliwością połączenia z klockiem wciśnięty klawisz myszy? - wcześniej znalezionym.
[[Plik:a27ak27.jpg]]
W razie potrzeby nakierowujemy uczestników na prawidłowe rozwiązanie.
Następnie prosimy, by odnaleźli klocek pozwalający skierować rybkę w stronę kursora myszy. Uczestnicy mogą odnaleźć dwa klocki. W razie potrzeby należy wyjaśnić różnicę między nimi.
[[Plik:a28ak28.jpg]]
'''''Wskazówka''' Jeśli ktoś wybra ł klocek idź do <wska źnik myszy>, należy omówić różnicę w efekcie dzia łania skryptów. W tym wypadku duszek rybki znajduje się dok ładnie tam, gdzie wskaźnik myszy komputerowej. Nie możemy więc nadać mu prędkości (ta zależy od tego, jak szybko poruszamy myszą komputerową). Duszek nie obraca się również w kierunku wskaźnika.''
Prosimy, by uczestnicy zastanowili się, jak: - połączyć znalezione klocki,
[[Plik:a29ak29.jpg]]
w którym miejscu je wstawić w skrypcie.
[[Plik:a30ak30.jpg]]
'''''Wskazówka''' Jeżeli chcielibyśmy, by rybka uciekała, to powinniśmy ją ustawić w stronę puknięcia, czyli wskaźnika myszy, a następnie obrócić o 180 stopni - czyli w kierunku przeciwnym.''
[[Plik:a31ak31.jpg]]
====Skopiowanie(skryptu(dla(pozostałych(rybek(duszków((=====
Po skopiowaniu skryptów powinniśmy zatrzymać i ponownie uruchomić program - wówczas wszystkie rybki powinny zacząć pływać.
[[Plik:a32ak32.jpg]]
====Dodanie(interakcji(między(rekinem(a(jedną(z(rybek((====
Kolejnym rozszerzeniem projektu może być zmodyfikowanie skryptu rekina w taki sposób, by reagował na spotkanie z jedną z rybek próbą zjedzenia jej. Możemy zwrócić uwagę, że rekin ma kilka kostiumów. W tym celu możemy poprosić o wybranie Rekinka i przejście następnie do zakładki Kostiumy w środkowej kolumnie.
[[Plik:a33ak33.jpg]]
Sprawdzamy, że rekin ma trzy kostiumy. Dyskutujemy, co się stanie, jeśli zmienimy szybko trzykrotnie kostium rekina na następny (powstanie wrażenie, że rekin próbuje coś ugryźć, na koniec wracając do pierwszego kostiumu - czyli pierwotnego wyglądu).
* zmienić kostium
[[Plik:a34ak34.jpg]]
Po przetestowaniu, okaże się, że animacja zachodzi bardzo szybko, więc dobrze jest
[[Plik:a35ak35.jpg]]
Możliwe dalsze modyfikacje projektu:
* dodanie licznika, ile razy rekin próbował zjeść rybkę (wymaga wprowadzenia pojęcia zmiennej)
* zmodyfikowanie skryptu rybki zjadanej przez rekina w taki sposób, by po zjedzeniu znikała i pojawiała się dopiero po pewnym czasie