こんにちは私はレーストラック(同じサイズだが別のトラック)で2頭のカメをセットするように求められている課題を持っている。私はそれらを動かせるようにすることができますが、第1のものがトラックの半分を動かしたときだけ第2のものが動く。私はカメを同時に動かす方法を知らない。ここで私のコードは、あなたがそれについての任意のアイデアがあれば私を助けてください。ありがとうございました!複数のカメを同時にPythonで移動するには?
import turtle
import random
import time
wn = turtle.Screen()
wn.bgcolor("lightgreen")
t = turtle.Turtle()
t.shape('turtle')
t.color('red')
t2 = turtle.Turtle()
t2.shape('turtle')
t2.color('blue')
#user input function
p = float(input('please insert the perimeter:'))
#set the track
def drawTrack(p,r):
shortside = (p/2.0)/(r+1)
longside = r*shortside
turtle.setup((shortside*2)+60, longside +40)
t.penup()
t2.penup()
t.setposition(-shortside-10, -longside/2)
t2.setposition(10, -longside/2)
for i in range (2):
#first track
t.speed(1)
t.pendown()
t.forward(shortside)
t.left(90)
t.forward(longside)
t.left(90)
#second track
t2.speed(1)
t2.pendown()
t2.forward(shortside)
t2.left(90)
t2.forward(longside)
t2.left(90)
drawTrack(p,2)
wn.exitonclick()
返信ありがとうございます。 – CodeLearner
yield(0)、while(next(generator1、1)+ next(generator2、1)<2): が合格しました。ブラケットの#1は何を意味しますか? – CodeLearner
@ CodeLearner、ここではちょっとしたトリッキーが起こっています。ジェネレータは、0を出力するか、結果が不足します。 'next(...、1)'のオプションの第2引数は、ジェネレータの結果が不足した場合に返すものです。したがって、2つの 'next()'ステートメントの合計が2に等しくなるまで、ジェネレータの1つは依然として結果を得ています。私。少なくとも1つのカメは依然としてレースを走っているので、ジェネレータを呼び出すようにしてください。 – cdlane