2015-04-04 3 views
0

Итак, я пишу программу, используя модуль черепахи. У меня есть 2 вопроса:Нужна помощь в использовании модуля черепахи

  1. У меня есть 4 черепахи. Как я могу отображать их имена на экране во время рисования?

  2. После завершения рисования, как я могу выйти из одного экрана и открыть другой в рамках одной и той же программы?

+0

я не могу помочь вам с этим извините;), но на будущее: если у вас есть два вопроса, пожалуйста, сделать два отдельных сообщения и дать им для поиска текста в заголовок. это может помочь другим людям с той же проблемой. – nilsK

+0

Вы также должны показать в своем вопросе, что вы сделали, чтобы попытаться решить вашу проблему. – chown

ответ

0

У меня есть 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() 

Чтобы лучше по отношению к тексту центрирования и устранения мерцания, мы должны были бы один или более дополнительных невидимых черепах просто обрабатывать текст. Однако, когда черепахи поворачиваются, текст не будет поворачиваться вместе с ними, он всегда будет горизонтальным.

enter image description here

Смежные вопросы