Zmiany

Czasomierz lekcyjny

Usunięte 37 bajtów, 20:19, 6 sie 2014
* Klocka "aktualna godzina / minuta".
Pierwszym etapem budowy jest zaprojektowanie sposobu w jaki użytkownik ustawi ile czasu ma być odmierzone:
[[Plik:Czasomierz_01.jpg|ramkapng|Krok 1. - zaprojektowanie sposobu ustawiania czasu do odliczenia]]
=== Radzenie sobie z nietypowymi sytuacjami w interakcji z użytkownikiem ===
Co się stanie jeśli użytkownik aplikacji zamiast liczby minut wpisze coś dla żartu, co nie jest liczbą? Nasz program mógłby zacząć funkcjonować w niespodziewany sposób. Do pewnego stopnia chroni nas przed tym sam Scratch, który jeśli spróbujemy wykonać jakieś działanie matematyczne na zmiennej, która przechowuje napis, zamieni napis na liczbę zero. W ten też sposób możemy łatwo sprawdzić czy ktoś podał liczbę (jak chcemy), czy napis: (uczniowie mogą sami wymyśleć ten sposób na bazie podabej właściwości):
[[Plik:czasomierz_02.jpg|ramka|Sposób pngSposób na sprawdzenie, czy wprowadzona została liczba, czy tekst]]
== Krok 2: Grafika ==
* Ustawiamy tło (scenę): rysujemy tarczę naszego czasomierza z wciśniętym klawiszem "shift" (wtedy uzyskamy dokładne koło).
* Dodajemy duszka - wskazówkę czasomierza. Wygląda jest dowolny, istotne jest to, żeby punkt obrotu duszka był na początku wskazówki:
[[Plik:czasomierz_03.jpg|ramkapng|Ustawianie punktu obrotu duszka (szary plus na końcu wskazówki)]]
== Krok 3: Przesuwanie wskazówki ==
* Wskazówkę ustawiamy tak, żeby zaczynała się na środku tarczy czasomierza
* Zarys skryptu wygląda następująco:
[[Plik:czasomierz_04.jpg|ramkapng|Krok 3: Zarys skryptu zliczającego czas i przesuwającego wskazówkę]]
# W momencie, kiedy dowiemy się już jaki czas należy odmierzyć nadawana jest wiadomość "czas-start!"
# Wskazówka w reakcji na wiadomość pokazuje się w pionie (można oczywiście wystartować z dowolnej pozycji)
Trudniejszym elementem jest zawartość pętli ustawiającej duszka. Wygląda ona następująco:
[[Plik:czasomierz_05.jpg|ramkapng|Krok 3: Skrypt obliczający nachylenie wskazówki]]
* W scratch kierunki ustawia się następująco: góra do kierunek 0 stopni, dół to kierunek 180 stopni (lub -180). Pozycje pośrednie ze strony prawej mają wartość dodatnią, a z lewej wartość ujemną [[//wiki.scratch.mit.edu/wiki/Direction_(value)]]
* W związku z tym musimy podzielić skrypt na trzy sekcje: 1) od początku do połowy czasu wskazówka porusz się od -360 stopni do -180 (rośnie), w połowie ustawia się pionowo w dół (180 stopni), po czym w drugiej połowie czasu aż do końca przesuwa się od 180 do 0 stopni (tym razem malejąco).
Alternatywnie możemy skorzystać z prostego hacku: okazuje się, że Scratch zrozumie również koordynaty od 0 do 360 stopni, wówczas skrypt ten można uprościć do jednego klocka:
[[Plik:czasomierz_06.jpg|ramkapng|Krok 3: Skrypt obliczający nachylenie wskazówki - uproszczony]]
Biurokrata
85
edycji