Zmiany

Skocz do: nawigacji, wyszukiwania

Proste prostopadłe i równoległe

Dodane 118 bajtów, 10:56, 15 kwi 2017
[[Plik:Proste01.PNG|450px|thumb|center|rys. 1 Początek gry]] 
'''Realizacja: Tworzenie duszków oraz skryptów'''
[[Plik:Proste02.PNG|450px|thumb|center|rys. 2 Ustawienie czarnej prostej]] 
Warto zastanowić się, z jaką dokładnością (skokiem) będziemy obracali prostą. Gdybyśmy obracali ją o 90 stopni, zadanie byłoby bardzo proste; gdyby o 1 stopień - bardzo trudno byłoby zauważyć, czy proste są prostopadłe, czy może jest między nimi kąt 89 lub 91 stopni. Dlatego wartość warto wybrać doświadczalnie. Przyjmijmy, że będzie to 15 stopni. Jeśli chcielibyśmy na początku (dla utrudnienia) zmienić kierunek czerwonej prostej, musimy obrócić ją o losową wielokrotność naszego skoku (15). W jakich granicach losować? Jeśli nie chcemy, aby były równoległe, to musimy do tego kierunku dodać kąt większy od zera, ale mniejszy od 180, zatem interesują nas wielokrotności 15 większe od 0 i mniejsze od 12. Jeśli chcemy uniknąć prostopadłości, to kąt obrotu musi być z zakresu (-90,90), czyli interesują nas wielokrotności od -5 do 5. Jak zdecydować, czy będziemy ustawiali proste prostopadle czy równolegle? Wprowadźmy na początku zmienną (p/r), która będzie losowała wartość spośród 2 liczb: jeśli wylosuje 1, to będziemy ustawiali prostopadłe, a 2 - równoległe.
[[Plik:Proste03.PNG|450px|thumb|center|rys. 3 Ustawienie prostych]] 
Czerwoną prostą możemy obracać za pomocą klawiatury: prawa strzałka - obrót o 15 stopni w prawo (zgodnie z ruchem wskazówek), lewa strzałka - przeciwnie. Abyśmy wiedzieli, jakie zadanie nas czeka, może nam to zakomunikować Kot. On z kolei dowie się, że ma coś powiedzieć za pomocą komunikatu. Zatem po ustawieniu prostych, powinny one wysłać komunikat np. “zadanie”. Kiedy Kot go otrzyma, powie “Obróć czerwoną prostą, aby była do czarnej...” i po chwili dopowie w zależności od wartości zmiennej “p/r” - “PROSTOPADŁA” lub “RÓWNOLEGŁA”
[[Plik:Proste04.PNG|450px|thumb|center|rys. 4 Informacja o zadaniu]]
Teraz będziemy potrzebowali czasu na ustawienie prostej. Sygnałem dla komputera o wykonaniu zadania będzie naciśnięcie spacji. Wtedy Kot oceni poprawność wykonania zadania. W jaki sposób? Kierunek czarnej prostej zawiera się w przedziale <0,179> a czerwonej - <-179,180>. Zatem proste będą równoległe, jeśli będą miały taki sam kierunek lub jeśli czerwona będzie miała kierunek o 180 stopni mniejszy, a prostopadłe, jeśli różnica kierunków będzie wynosiła +/-90 lub +/-270. Możemy te warunki zapisać na różne sposoby. Najprostsze wydaje się zastosowanie reszty z dzielenia - modulo. Warto zauważyć, że w przypadku równoległości po podzieleniu przez 180 np. z kąta -110 otrzymamy resztę 70, a w przypadku prostopadłości wszystkie liczby: +/-90, +/-270 mod 180 = 90. Stąd sposób sprawdzania mógłby wyglądać tak:
[[Plik:Proste05.PNG|450px|thumb|center|rys. 5 Sprawdzanie poprawności wykonania zadania]] 
Aby program nie zakończył się w tym momencie, można po ocenieniu wymusić kolejne uruchomienie komunikatem “zadanie”. Jednak komunikat ten powinien jednocześnie powodować nowe ustawienie prostych. W związku z tym należy zmodyfikować również skrypt duszka Prosta, który ostatecznie będzie wyglądał tak:
[[Plik:Proste06.PNG|450px|thumb|center|rys. 6 Ostateczny wygląd skryptów Prostej]]