2016-12-23 92 views
-2

就像有兩隻海龜一起移動一樣。例如,我輸入兩隻烏龜,然後嘗試讓它們一起向前移動。我怎樣才能做到這一點?在Python中,我怎樣才能同時執行兩個Turtle命令?

+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分,所以它給人的印象是他們一起移動,但實際上他們是分開移動的。它重複操作(ammount // 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() 

其他人也使用線程來實現這一目標但計時器事件內置於烏龜模塊。