Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Dawid Dreżewski 3H
- # Import całej biblioteki turtle.
- from turtle import *
- # Odpowiada za sterowanie animacją "rysującego żółwia".
- # <<<----------------------------------------------->>>
- # tracer(n) <-> Jeśli n jest podane, to wyświetlana jest tylko n-ta aktualizacja ekranu.
- # Można tego użyć do przyspieszenia rysowania złożonej grafiki. Po wywołaniu bez argumentów zwraca n.
- tracer(0)
- '''
- # Wykonanie rysunku iteracyjnie, za pomocą pętli. Zakres ograniczony do 36, co ma oznaczać pełny obrót.
- # (później alfa mnożona jest razy 10, dzięki czemu mamy zakres od 0 do 360 stopni, co dziesięć: 0, 10, 20, ... , 360).
- for alfa in range(36):
- up() # Podniesienie elementu rysującego (długopisu - żółwia).
- home() # Ustawienie żółwia w punkcie (x=0,y=0) i ustawienie początkowej orientacji - domyślnie + 90 stopni "w prawo".
- goto(0, -80) # Ruch żółwia do punktu (x,y), w tym przypadku do (x=0,y=-80); jeśli "długopis" jest na "płótnie", to rysuj linię; nie zmienia się orientacja żółwia.
- down() # Postaw "długopis"; jeśli wystąpi ruch, to będzie rysowana linia.
- rt(270 + alfa * 10) # rt(n) - obróć żółwia w prawo o n stopni; tutaj: (270 + alfa * 10) stopni, co kolejno da kąt względem osi OX: 0, 10, 20, ..., 350 stopni.
- fd(360 - 10 * alfa) # fd(n) - ruch żółwia do przodu o dany dystans n od obecnego położenia, tutaj (360 - 10 * alfa), co kolejno da: 360, 350, ..., 10, 0.
- '''
- # Wykonanie rysunku rekurencyjnie, za pomocą wywoływania funkcji przez samą siebie.
- def drutex(alfa=0): # Domyślna wartość alfa wynosi 0.
- if alfa <= 36: # Zakres ograniczony do 36, co ma oznaczać pełny obrót; (później alfa mnożona jest razy 10, dzięki czemu mamy zakres od 0 do 360 stopni, co dziesięć: 0, 10, 20, ... , 360).
- up() # Podniesienie elementu rysującego (długopisu - żółwia).
- home() # Ustawienie żółwia w punkcie (x=0,y=0) i ustawienie początkowej orientacji - domyślnie + 90 stopni "w prawo".
- goto(0, -80) # Ruch żółwia do punktu (x,y), w tym przypadku do (x=0,y=-80); jeśli "długopis" jest na "płótnie", to rysuj linię; nie zmienia się orientacja żółwia.
- down() # Postaw "długopis"; jeśli wystąpi ruch, to będzie rysowana linia.
- rt(270 + alfa * 10) # rt(n) - obróć żółwia w prawo o n stopni; tutaj: (270 + alfa * 10) stopni, co kolejno da kąt względem osi OX: 0, 10, 20, ..., 350 stopni.
- fd(360 - 10 * alfa) # fd(n) - ruch żółwia do przodu o dany dystans n od obecnego położenia, tutaj (360 - 10 * alfa), co kolejno da: 360, 350, ..., 10, 0.
- drutex(alfa + 1) # Po zakończeniu wcześniejszych operacji dostanie wywołana funkcja drutex z wartością alfa większą o 1 (kąt zmieniony jest o 10 stopni).
- drutex() # Pierwsze wywołanie funkcji o nazwie drutex z argumentem domyślnym
- exitonclick() # Sterowanie oknem - zamyka się ono po kliknięciu na "płótno".
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement