Zrzut ekranu przedstawia skrypt dodający nowy blok gwiazda, który rysuje gwiazdę ośmioramienną według algorytmu z poprzedniego podrozdziału. Blok: Definiuj gwiazda. Pierwszy wiersz: Przyłóż pisak. Drugi wiersz: Powtórz osiem razy. Trzeci wiersz: Przesuń o trzydzieści kroków. Czwarty wiersz: Obróć się w prawo o sto trzydzieści pięć stopni. Szósty wiersz: Podnieś pisak. Siódmy wiersz: Zatrzymaj ten skrypt.
Zrzut ekranu przedstawia skrypt dodający nowy blok gwiazda.
Źródło: GroMar, licencja: CC BY 3.0.
Korzystając np. z bloku przesuń o …icckVlRpet_d429e144przesuń o … masz możliwość podania liczby kroków, o jaką chcesz przesunąć duszka. Podobnie utworzymy blok, który rysuje gwiazdę o podanej długości ramienia. Wykorzystamy do tego parametry. Tworząc nowy blok możesz dodać do niego parametry. Istnieje również opcja edycji istniejącego już bloku - w tym celu naciśnij prawym przyciskiem myszy blok i wybierz opcję Edycja. Zobacz na poniższym filmie, jak dodać parametr i jak go wykorzystać we własnym bloku.
RgsR5lc4YCvVI
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Źródło: GroMar, licencja: CC BY 3.0.
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Ćwiczenie 1
Popraw blok Gwiazda w swoim projekcie dodając parametr określający długość ramienia gwiazdy.
Sztywno podaną wartość określającą długość ramienia gwiazdy zastąp parametrem. Nazwij go odpowiednio, to znaczy tak żeby ktoś, kto pierwszy raz patrzy na dany skrypt wiedział, za co on odpowiada.
Zrzut ekranu przedstawia definicję nowego bloku, jakim jest gwiazda. Skrypt odpowiada za narysowanie jednej gwiazdy. Pierwszy wiersz: Definiuj: Gwiazda, ramię. Drugi wiersz: Przyłóż pisak. Trzeci wiersz: Powtórz osiem razy. Czwarty wiersz: Przesuń o zmienną: "długość ramienia gwiazdy" kroków. Piąty wiersz: Obróć w prawo o sto trzydzieści pięć stopni. Szósty wiersz: Podnieś pisak. Siódmy wiersz: Zatrzymaj ten skrypt.
Zrzut ekranu przedstawia definicję nowego bloku, jakim jest gwiazda.
Źródło: GroMar, licencja: CC BY 3.0.
R14kNlbgikJIR
Ćwiczenie 1
Czy do wcześniej utworzonego bloku, można dodać parametr? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.
Ćwiczenie 2
Napisz skrypt uruchamiany po kliknięciu zielonej flagi rysujący 10 gwiazd o różnej długości ramienia w górnej części ekranu. Niech długość ramienia rysowanych gwiazd losuje się z określonego zakresu.
Blok odpowiedzialny za losowanie liczby z podanego zakresu znajdziesz w kategorii Wyrażenia.
Przykładowy skrypt:
R17HpsxoGS752
Zrzut ekranu przedstawia przykładowy skrypt, w którym rysowane jest dziesięć gwiazd w losowym miejscu na niebieskiej części sceny o losowej wielkości. Pierwszy wiersz: Kiedy kliknięto. Drugi wiersz: Ukryj. Trzeci wiersz: Ustaw kierunek na dziewięćdziesiąt. Czwarty wiersz: Podnieś pisak. Piąty wiersz: Wyczyść wszystko. Szósty wiersz: Ustaw kolor pisaka na żółty. Siódmy wiersz: Ustaw rozmiar pisaka na trzy. Ósmy wiersz: Powtórz dziesięć razy. Dziewiąty wiersz: Idź do x: losuj liczbę od minus dwieście czterdzieści do dwieście dziesięć, y: losuj liczbę od trzydzieści do sto pięćdziesiąt. Dziesiąty wiersz: Gwiazda, losuj liczbę od pięć do trzydzieści. Jedenasty wiersz: Zatrzymaj ten skrypt.
Zrzut ekranu przedstawia przykładowy skrypt, w którym rysowane jest dziesięć gwiazd o losowo wybranej długości ramienia.
Źródło: GroMar, licencja: CC BY 3.0.
Rzmmd5DSbc15D
Ćwiczenie 2
W jakiej kategorii znajduje się blok umożliwiający losowanie wartości z podanego zakresu? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.
Wskazówka
Pamiętaj, że powinieneś zadbać, żeby gwiazdy mieściły się w górnej części ekranu. Dotychczasową, stałą długość ramienia możesz potraktować jako wartość maksymalną.
icckVlRpet_d429e144
RC0l4O5JZ4781
Zrzut ekranu przedstawia blok: "Przesuń o ... kroków". Blok możesz znaleźć w kategorii: "Ruch".
Zrzut ekranu przedstawia blok: "Przesuń o ... kroków".
Źródło: GroMar, licencja: CC BY 3.0.
Przesuwa duszka o podaną odległość zgodnie z aktualnym kierunkiem oraz aktualnymi ustawieniami pisaka (przyłożony/podniesiony, kolor, grubość). Jeśli chcemy przesunąć duszka do tyłu, należy podać wartość ujemną.
Przykład:
RGypbpDl5pd4c
Zrzut ekranu przedstawiający skrypt, w którym duszek przesuwany jest o sto kroków w aktualnym kierunku. Pierwszy wiersz: Kiedy kliknięto. Drugi wiersz: Przyłóż pisak. Trzeci wiersz: Ustaw rozmiar pisaka na trzy. Czwarty wiersz: Przesuń o sto kroków. Piąty wiersz: Zatrzymaj ten skrypt.
Zrzut ekranu przedstawiający skrypt, w którym duszek przesuwany jest o sto kroków w aktualnym kierunku.
Źródło: GroMar, licencja: CC BY 3.0.
Dotychczas nasz blok rysował gwiazdy ośmioramienne. Poprawimy go tak, aby była możliwość rysowania gwiazd o innej liczbie ramion. W tym celu dodamy do bloku drugi parametr liczbowy określający kąt zewnętrzny przy ramieniu gwiazdy.
Ćwiczenie 3
R1W45TYa65glT
Do bloku rysującego gwiazdy dodaj drugi parametr liczbowy określający kąt zewnętrzny przy ramieniu gwiazdy. Nazwij go: "kąt obrotu". Sprawdź działanie skryptu dla różnych miar kąta. Na podstawie testów uzupełnij zdania:
Do bloku rysującego gwiazdy dodaj drugi parametr liczbowy określający kąt zewnętrzny przy ramieniu gwiazdy. Nazwij go: "kąt obrotu". Sprawdź działanie skryptu dla różnych miar kąta. Na podstawie testów uzupełnij zdania:
Jeśli masz problem z dodaniem do bloku parametru postępuj zgodnie z instrukcją pokazaną w filmie na początku materiału.
RgBvgYs68yxf8
Obrazek przedstawia pięcioramienną gwiazdę, która powstała z poprzedniego skryptu. Jedyną zmianą jest inny kąt podany w skrypcie. Po zwiększeniu kąta - w tym przypadku do 144 stopni, gwiazda powstała z mniejszą ilością ramion, w tym przypadku pięciu
Pięcioramienna gwiazda dla kąta 144 stopni po jednokrotnym włączeniu skryptu.
Źródło: GroMar, licencja: CC BY 3.0.
Zauważ, że nie wystarczy dodać drugiego parametru. Nie zawsze po jednokrotnym wywołaniu bloku powstanie poprawna gwiazda.
RuZOAKtxjvUMe
Niepoprawna gwiazda dla kąta 140 stopni po jednokrotnym włączeniu skryptu. Ramiona nie są ze sobą połączone.
Niepoprawna gwiazda dla kąta 140 stopni po jednokrotnym włączeniu skryptu.
Źródło: GroMar, licencja: CC BY 3.0.
R1ZjPUyRRRpTt
Obrazek przedstawia gwiazdę, która powstała z poprzedniego skryptu. Jedyną zmianą jest inny kąt podany w skrypcie. Po zwiększeniu kąta - w tym przypadku do 140 stopni, gwiazda powstała z większą ilością ramion, w tym przypadku z osiemnastu
Osiemnastoramienna gwiazda dla kąta 140 stopni po trzykrotnym włączeniu skryptu.
Źródło: GroMar, licencja: CC BY 3.0.
R1DcAS6FYBRWh
Niepoprawna gwiazda dla kąta 100 stopni po jednokrotnym włączeniu skryptu. Ramiona nie są ze sobą połączone.
Niepoprawna gwiazda dla kąta 100 stopni po jednokrotnym włączeniu skryptu.
Źródło: GroMar, licencja: CC BY 3.0.
Z powyższego ćwiczenia można wywnioskować, że mamy do rozwiązania dwa problemy:
Nie każda wartość kąta daje poprawny rysunek gwiazdy.
W niektórych przypadkach dopiero kilkukrotnym wywołaniu skryptu z tym samym parametrem powstanie poprawna gwiazda.
Podana poniżej instrukcja pokaże ci obliczyć kąt zewnętrzny ramienia gwiazdy o nieparzystej liczbie ramion:
Podziel przez liczbę ramion gwiazdy, np. dla gwiazdy pięcioramiennej: .
Otrzymaną wartość podziel przez . Na przykład dla uzyskanej wcześniej wartości otrzymujemy: .
Obliczony kąt reprezentuje kąt między ramionami gwiazdy. W każdym wierzchołku gwiazdy ten kąt będzie miał tę samą wartość. Teraz, musisz obliczyć, o ile duszek musi się obrócić po narysowaniu każdego ramienia, aby narysować następne. Jest to kąt zewnętrzny ramienia gwiazdy, który obliczamy odejmując nasz kąt od . Dla gwiazdy pięcioramiennej, otrzymamy: .
W ten sposób otrzymaliśmy miarę kąta między ramionami w każdym z jej wierzchołków. Ostatnim krokiem jest odjęcie otrzymanego wyniku od , ponieważ jest to kąt o jaki duszek musi się obrócić rysując gwiazdę, np. dla gwiazdy pięcioramiennej: .
W ten sposób otrzymaliśmy wartość kąta obrotu, która pozwoli nam narysować gwiazdę. W przypadku gwiazdy pięcioramiennej, duszek musi się obrócić o stopni po narysowaniu każdego ramienia, aby narysować następne.
Należy jeszcze poprawić liczbę powtórzeń w pętli bloku gwiazda. Oczywiście liczba powtórzeń powinna być równa liczbie ramion gwiazdy. Zastanów się jak obliczyć liczbę ramion gwiazdy mając dany kąt obrotu duszka. Wykorzystaj do tego podaną wyżej instrukcję.
Bloki odpowiedzialne za zmienne znajdziesz w kategorii: Zmienne.
Ćwiczenie 4
Napisz wzór na podstawie którego można obliczyć liczbę ramion gwiazdy mając dany kąt zewnętrzny tej gwiazdy. Wykorzystaj ten wzór poprawiając liczbę powtórzeń wewnątrz definicji bloku Gwiazda.
Postępuj odwrotnie niż podaje instrukcja. Oblicz najpierw kąt wewnętrzny gwiazdy. Potem pomnóż go przez dwa i zapamiętaj tą wartość. Aby obliczyć liczbę ramion gwiazdy, podziel wartość kąta pełnego przez otrzymaną wartość.
Możesz kontrolować liczbę powtórzeń wewnątrz definicji bloku Gwiazda, obliczając liczbę ramion poprzez modyfikację wzoru do obliczenia kąta zewnętrznego ramienia gwiazdy. Liczbę ramio gwiazdy możemy obliczyć ze wzoru:
Tak może wyglądać definicja bloku Gwiazda po poprawkach.
RGfuxYWHZYINI
Przykładowy skrypt. Pierwszy wiersz: Definiuj: Gwiazda, "ramię", "kąt obrotu". Drugi wiersz: Przyłóż pisak. Trzeci wiersz: Powtórz osiem razy. Czwarty wiersz: Przesuń o zmienną "ramię" kroków. Piąty wiersz: Obróć w prawo o zmienną "kąt obrotu" stopni. Szósty wiersz: Podnieś pisak. 7. Zatrzymaj ten skrypt.
Przykładowy skrypt.
Źródło: GroMar, licencja: CC BY 3.0.
R1BQ2v8uqo1v8
Ćwiczenie 4
Czy utworzony przez ciebie blok może wymagać na wejściu więcej niż jedną daną wejściową? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.
Poniżej znajduje się pole tekstowe przeznaczone do zapisywania notatek. Możesz w nim zapisać wszystkie informacje, które uważasz za potrzebne.
RODPNT7o0mXlx
Pole tekstowe do zapisywania odpowiedzi i notatek.