Poruszanie się do przodu i do tyłu
Pierwsza rzecz, jaką musi umieć żółw — poruszać się. W tej sekcji napiszesz swój pierwszy program, który naprawdę rysuje.
Po co to potrzebne
Wszystko, co rysujesz dalej — wielokąty, domy, mandale — jest zbudowane z tego samego Pary działań: „trochę pojeździć” oraz „Za rogiem za rogiem”. Opanując cztery polecenia z tej części, będziesz mieć fundamenty na cały rozdział.
Składnia
forward(расстояние)polega na przesunięciu się do przodu o określoną liczbę pikseli (skrót tofd)backward(расстояние)— wracać bez skręcania (skróty —bk,back)right(угол)— obróć zgodnie z ruchem wskazówek zegara o kąt w stopniach (skrót —rt)left(угол)— obróć przeciwnie do ruchu wskazówek zegara o kąt wyliczony w stopniach (skrót —lt)
Pierwszy krok: po prostu naprzód
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.forward(120)
screen.exitonclick()
Do przodu, potem do tyłu
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.forward(120)
artist.backward(50)
screen.exitonclick()
forward() mogą być również ujemne. forward(-50) oraz backward(50) robią to samo.Pierwszy prawdziwy program: Litera „G”
Jedźmy do przodu, skręćmy i jedźmy dalej:
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=360)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.forward(120)
artist.left(90)
artist.forward(80)
screen.exitonclick()
Analiza krok po kroku
turtle.Screen()otwiera okno do rysowania.turtle.Turtle()tworzy sam żółw — na początku współrzędnych, kurs skierowany w prawo.artist.forward(120)- Żółw porusza się 120 pikseli w kierunku toru, zostawiając linię.artist.left(90)— tor jest obracany o 90° przeciwnie do ruchu wskazówek zegara.- Drugie Wyzwanie
forward()już zmierza w nowym kierunku – stąd róg litery „G”
Typowy błąd
right()/left() ruchem — wydaje się, że żółw powinien przesunąć się na bok. W rzeczywistości te komendy tylko obracają oczywiście i nie ruszaj żółwia ani o piksel.Diagnoza: czy kształt wygląda na „spłaszczony” forward()
po obrocie, albo pomylono miejscami obrót i ruch.
Spróbuj się zmienić
Zmień odległość z 120 do 250 i kąt z 90 na 45. Przed rozpoczęciem spróbuj przewidzieć: w którą stronę żółw „wygląda”
Dodaj trzecią parę poleceń left(90) i forward(120) na końcu programu. Jaka figura powstanie?
Modern Option
W starym kodzie żółw często jest rysowany bez wyraźnego obiektu, czyli modułu
turtle automatycznie tworzy „żółwia domyślnego”.
import turtle
# bez dopełnienia jawnego —
# używane ukrycie
# żółw domyślny
turtle.forward(120)
turtle.left(90)
turtle.forward(80)
turtle.done()
import turtle
# obiekt jawny – rozumiem,
# który żółw rysuje,
# łatwo dodać drugi
artist = turtle.Turtle()
artist.forward(120)
artist.left(90)
artist.forward(80)
turtle.done()
turtle.Turtle(). Nie komplikuje niczego, ale natychmiast przygotowuje do rozdziału o obiektach i jest łatwo skalowalny — jeśli później będziesz musiał narysować scenę z kilkoma żółwiami, każdy będzie miał własną nazwę i swój stan. Funkcje modułowe (turtle.forward() bez obiektu) wciąż spotyka się w starych kodach i podręcznikach — warto je znać, ale od razu zacznij zwyczaj od obiektu.Co pamiętać
forward()/backward()przesuwać żółwia w linii prostej;left()/right()tylko skręcać trasę.- Pozycja i kurs to dwie niezależne właściwości żółwia.
- Nowoczesny styl — tworzyć jawny obiekt
turtle.Turtle()zamiast polegać na domyślnym ukrytym żółwiu.