Ваш вопрос неясен, используете ли вы библиотеку черепах Python объектно-ориентированным способом или реализуете свою собственную объектно-ориентированную библиотеку черепах.Если вы реализуете свою собственную библиотеку Turtle, вам понадобится другая графическая библиотека в качестве основы (например, tkinter).И время, и терпение.
Если вы используете библиотеку черепах Python, то определение класса с именем Turtle
, вероятно, является неправильным первым шагом, поскольку библиотека черепах уже предоставляет класс с именем Turtle
.И я вижу мало в вашем Turtle
классе, который был бы полезен.Мне удалось реализовать следующее изображение с использованием библиотеки черепах Python объектно-ориентированным способом, содержащим менее 35 строк кода:
Основано на выполненииВот мои предложения:
Выберите постоянный радиус и, используя его вместе с cos
, sin
и radians
из математической библиотеки Python, обойдите круг в18 градусов (360/20) шагов с нанесением синих черепах (чей оттенок зависит от угла - вам потребуется фазовая коррекция.) Пропустите две позиции, где синус фактически равен нулю.
В точке 180 градусов поместите красную черепаху.
Теперь нам нужно заставить черепах двигаться.Вы можете либо использовать цикл while True:
, из которого вы в конце разорветесь, либо использовать более ориентированный на события подход с screen.ontimer()
.Вы можете составить свой собственный список черепах или использовать screen.turtles()
.
Для каждого шага движения, перемещайте каждую черепаху вперед на 1 пиксель.Для всех голубоватых черепах вы также хотите назначить их на красную черепаху.Для этого:
blue.setheading(blue.towards(red))
- ваш друг в любом сценарии погони.
Когда позиция Х красной черепахи превышает радиус вашейкруг по некоторому краю, все готово.
Добавьте все необходимые штрихи, чтобы он выглядел лучше.
Экспорт изображения черепахи в видеSVG - это отдельная проблема, когда у вас есть работающая графика - вы можете найти примеры таких примеров здесь, в StackOverflow.