2016-12-23 15 views
-2

Как и в случае с двумя Черепахами, движущимися сразу. Например, я импортирую двух черепах, а затем стараюсь, чтобы оба они двигались вперед друг к другу. Как я могу это сделать?В Python, как я могу выполнить две команды черепахи одновременно?

+1

Привет и добро пожаловать в StackOverflow. Чтобы ответить на ваш вопрос, нам нужно больше контекста. Какую библиотеку или структуру вы используете? Как выглядит ваш код прямо сейчас, и что вы пробовали до сих пор? –

+1

Вам нужно, чтобы оба черепахи были видны сразу или просто видели их рисунки? Является ли это интерактивным или в программе? Может ли это быть смоделировано, а не фактически достигнуто? Ваш вопрос требует гораздо более подробной информации. –

ответ

-1
bob = turtle.Turtle() 
john = turtle.Turtle() 

def move_turtles(ammount): 
    for i in range(ammount // 10): 
     bob.forward(10) 
     john.forward(10) 

move_turtles(100) 

Невозможно перемещать их одновременно, хотя вы можете использовать что-то в этом роде. Он перемещает черепах по 10 очков каждый, поэтому создается впечатление, что они движутся вместе, но они фактически перемещаются отдельно небольшими количествами. Он повторяет операцию (количество экземпляров // 10) раз и перемещает 10 на каждой итерации, поэтому, если вы должны были дать 50 в качестве входных данных, она перемещалась бы 5 раз 10 баллов, в результате получилось 50. Затем вы можете настроить функцию для перемещения немного черепахой, чтобы они не перекрывались и так далее.

0

Вы можете переместить несколько черепах независимо в то же время, используя события таймера - вы даже можете иметь их двигаться с разной скоростью, как во времени и пространстве:

import turtle 

turtle.setworldcoordinates(0, -100, 100, 100) 

bob = turtle.Turtle(shape="turtle") 
bob.penup() 
bob.sety(20) 

john = turtle.Turtle(shape="turtle") 
john.penup() 
john.sety(-20) 

def move_bob(): 
    bob.forward(1) 
    if bob.xcor() < 90: 
     turtle.ontimer(move_bob, 75) 

def move_john(): 
    john.forward(2) 
    if john.xcor() < 90: 
     turtle.ontimer(move_john, 100) 

move_bob() 
move_john() 

turtle.exitonclick() 

Другие люди также используют потоки для достижения этой цели но события таймера встроены в модуль черепахи.

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