Rozdział 7 · Głębokie zanurzenie w Turtle
Stempelki i inne techniki
stamp() jest nowy pomysł: odcisk kształtu żółwia bez ruchu i bez linii.
Znaczek to nie linia ani kursor
stamp() zostawia odcisk obecnego kształtu żółwia na
Bez rysowania linii jest istotna różnica w stosunku do normalnego ruchu. Przydatne dla różnych
identyczne obiekty na ekranie (gwiazdy nieba, wrogowie w grze, znaki na wykresie).
shtampy.py
import turtle
screen = turtle.Screen()
screen.setup(width=460, height=200)
artist = turtle.Turtle()
artist.shape("circle")
artist.color("#5B24F9")
artist.penup()
for _ in range(6):
artist.stamp()
artist.forward(60)
screen.exitonclick()
Rezultat
shtampy_kod.py
artist.shape("circle")
artist.color("#5B24F9")
artist.penup()
for _ in range(6):
artist.stamp()
artist.forward(60)
stamp() zwraca numer — zapamiętaj go
Każde wyzwanie
stamp() zwraca liczbę całkowitą, która jest identyfikatorem danego znaczka. Bez niej nie możesz później usunąć konkretnego znaczka.Usuń konkretne znaczki
clearstamp.py
import turtle
screen = turtle.Screen()
screen.setup(width=460, height=200)
artist = turtle.Turtle()
artist.shape("circle")
artist.color("#5B24F9")
artist.penup()
stamp_ids = []
for _ in range(6):
stamp_ids.append(artist.stamp())
artist.forward(60)
artist.clearstamp(stamp_ids[0])
artist.clearstamp(stamp_ids[2])
artist.clearstamp(stamp_ids[4])
screen.exitonclick()
Rezultat
clearstamp_kod.py
stamp_ids = []
for _ in range(6):
stamp_ids.append(artist.stamp())
artist.forward(60)
artist.clearstamp(stamp_ids[0])
artist.clearstamp(stamp_ids[2])
artist.clearstamp(stamp_ids[4])
| Komenda | Co robi |
|---|---|
clearstamp(id) | usuwa JEDEN konkretny znaczek przez jego numer |
clearstamps(n) | usuwa pierwsze n znaczki (lub ostatnie n, jeśli n negatywne) |
clearstamps() | usuwa WSZYSTKIE znaczki żółwi |
Żółw chowaj się i pokazuj
skryt.py
artist.hideturtle() # ukryj wskaźnik żółwia (sama linia pozostanie)
artist.showturtle() # pokaż z powrotem
Dlaczego ukrywać żółwia?
W gotowych rysunkach wskaźnik żółwia może być wizualnie niepokojący.
hideturtle() na końcu programu sprawia, że końcowy efekt jest czystszy — używamy tego we wszystkich mini-projektach rozdziału.Cofnij ostatnią akcję: undo()
undo.py
artist.forward(100)
artist.undo() # cofa ostatni ruch jak Ctrl+Z
Praktyka: zawiera stemple i inne metody
Ten sam laptop co sekcja Kształty, Kółka, Kropki – to też obejmuje
Praktyka kursuje lokalnie