0

これが私のコードです (Python の初心者です。プロらしくないコードはご容赦ください)。基本的には、2 匹のカメを同じ円上で一緒に移動させることです (ご想像のとおり、私のタスクは ISS を追跡する宇宙船をシミュレートすることです)。 )。私のコードでは、最初のタートルが円の周りを動き、次に 2 番目のタートルが動きます:

from turtle import *
rocket=Turtle()
ISS=Turtle()
counter=1
title("ISS")
screensize(750,750)
ISS.hideturtle()
rocket.hideturtle()
ISS.penup()
ISS.left(90)
ISS.fd(250)
ISS.left(90)
ISS.showturtle()
ISS.pendown()
rocket.penup()
rocket.fd(250)
rocket.left(90)
rocket.showturtle()
rocket.pendown()
while counter==1:
    ISS.speed(1)
    rocket.speed(2)
    ISS.circle(250)
    rocket.circle(250)

これには「糸通し」が効くと先生に言われましたが、よくわかりません。誰かがこれで私を助けてくれれば幸いです;)

4

2 に答える 2

1

マルチスレッドでの動作を許可しないタートルの制限があります。

タートルを円全体で動かす必要はありませんが、途中で動かすだけでもかまいません。また、あなたは何をするのか誤解していると思いますspeed。亀が描く速さです。

from turtle import *

def move(thing, distance):
    thing.circle(250, distance)

def main():
    rocket = Turtle()
    ISS = Turtle()
    rocket.speed(10)
    ISS.speed(10)
    counter = 1
    title("ISS")
    screensize(750, 750)
    ISS.hideturtle()
    rocket.hideturtle()
    ISS.penup()
    ISS.left(90)
    ISS.fd(250)
    ISS.left(90)
    ISS.showturtle()
    ISS.pendown()
    rocket.penup()
    rocket.fd(250)
    rocket.left(90)
    rocket.showturtle()
    rocket.pendown()

    while counter == 1:
        move(ISS, 3)
        move(rocket, 4)

if __name__ == '__main__':
    main()

ISSであれロケットであれ、物を動かすという繰り返しのステップを取り除き、それを機能にしました。滑らかに見えると思ったので、描画速度を 10 に上げました。ISS は、各ステップでロケットの 3/4 程度しか移動しません。

于 2013-01-24T04:14:04.527 に答える