Search on blog:

Prędkość żółwia w Turtle

Normalnie żółw rysuje powoli każdą linię kawałek po kawałku (wykonująć wiele małych kroków)

import turtle

length = 1
for i in range(200):
    turtle.forward(length)
    turtle.right(90)
    length += 4

turtle.done()

Aby zmienić jego prędkość można użyć turtle.speed(liczba) gdzie 1 oznacza najwolniej, 10 szybko ale 0 oznacza najszybciej.

Można też używać wyrazów, które zastępują niektóre prędkości

  • “fastest”: 0
  • “fast”: 10
  • “normal”: 6
  • “slow”: 3
  • “slowest”: 1
import turtle

turtle.speed(0)
#turtle.speed('fastest')

length = 1
for i in range(200):
    turtle.forward(length)
    turtle.right(90)
    length += 4

turtle.done()

Każde rysowanie linii składa się z wielu małych kroków żółwia i po każdym kroku obraz w oknie jest odświeżany (aktualizowany) można jednak to zmienić i określić co ile kroków program ma odświeżyć obraz w oknie co potrafi lepiej przyspieszyć rysowanie

Przykładowo aktualizowanie obrazu co 10 kroków

turtle.tracer(10) # redraw scree every 10 moves.

Dla pewności na koniec można jeszcze wymusić aktualizację obrazu gdyby okazało się, że ostatnia część miała mniej niż 10 kroków i nie została wyświetlona

turtle.update() # update content on screen

Można także całkowicie pominąć odświeżanie obrazu w oknie co najbardziej przyspiesza rysowanie bo całkowicie pomija animację ruchu żółwia

turtle.tracer(False) # stop animation and don't update content on screen
import turtle

#turtle.tracer(10) # redraw scree every 10 moves.
turtle.tracer(False) # stop animation and don't update content on screen

length = 1
for i in range(200):
    turtle.forward(length)
    turtle.right(90)
    length += 4

turtle.update() # update content on screen

turtle.done()

Doc: turtle.speed(), turtle.tracer(), turtle.update()

If you like it
Buy a Coffee