У меня есть 4 черепах. Как я могу показать их имена на экране при рисовании?
Конечно, здесь грубый пример:
from random import choice
from turtle import Turtle, Screen
NAMES = ['Donnie', 'Raph', 'Mickey', 'Leo']
SPEEDS = ["slowest", "slow", "normal", "fast", "fastest"]
FONT = ("Arial", 12, "normal")
MAGNIFICATION = 5
STAMP_SIZE = 20
MAXIMUM_SPEED = 10
LINE_OFFSET = 50
screen = Screen()
WINDOW_WIDTH = screen.window_width()
START, FINISH = LINE_OFFSET - WINDOW_WIDTH//2, WINDOW_WIDTH//2 - (LINE_OFFSET + MAXIMUM_SPEED)
turtles = {name: Turtle(shape='turtle') for name in NAMES}
for offset, turtle in enumerate(turtles.values(), start=-len(NAMES)//2):
turtle.turtlesize(MAGNIFICATION)
turtle.color("black", "white")
turtle.penup()
turtle.goto(START, offset * MAGNIFICATION * STAMP_SIZE)
turtle.speed(choice(SPEEDS))
turtle.write("", font=FONT) # dummy write for 1st undo
winner = False
while not winner:
for name, turtle in turtles.items():
turtle.undo() # unwrite name
turtle.forward(turtle.speed() + 1)
turtle.write(name, font=FONT) # rewrite name
if turtle.xcor() >= FINISH:
winner = True
break
screen.exitonclick()
Чтобы лучше по отношению к тексту центрирования и устранения мерцания, мы должны были бы один или более дополнительных невидимых черепах просто обрабатывать текст. Однако, когда черепахи поворачиваются, текст не будет поворачиваться вместе с ними, он всегда будет горизонтальным.
я не могу помочь вам с этим извините;), но на будущее: если у вас есть два вопроса, пожалуйста, сделать два отдельных сообщения и дать им для поиска текста в заголовок. это может помочь другим людям с той же проблемой. – nilsK
Вы также должны показать в своем вопросе, что вы сделали, чтобы попытаться решить вашу проблему. – chown