、random.randint()
の結果を含む、任意の値にturtle.speed()
を設定することは必要でも十分でもありません。それは単に便利です。以下は私のミニマルなカメレーシングコードです。 turtle.speed()
方法は、亀の速度を隠しておくための場所として利用されていますが、変更する場合:固定値に
turtle.forward(turtle.speed() + 1)
:
turtle.forward(10)
あなたはわかりますそのカメ同じ速度ですべての動き、turtle.speed()
の設定にかかわらず。 turtle.speed()
の値は、タートルが更新をどれだけ迅速に描画するかを決定します。最終的にturtle.forward()
への引数の違いは、前方への動きの量を制御します。
from random import randint
from turtle import Turtle, Screen
TURTLE_SIZE = 20
MAXIMUM_SPEED = 10
DEFAULTS = {'shape':"turtle", 'visible': False}
screen = Screen()
starting_line = TURTLE_SIZE - screen.window_width()/2
finish_line = screen.window_width()/2 - TURTLE_SIZE - MAXIMUM_SPEED
turtles = dict(red=Turtle(**DEFAULTS), green=Turtle(**DEFAULTS), blue=Turtle(**DEFAULTS))
for i, (color, turtle) in enumerate(turtles.items()):
turtle.color(color)
turtle.penup()
turtle.goto(starting_line, i * TURTLE_SIZE)
turtle.speed(randint(0, MAXIMUM_SPEED))
turtle.showturtle()
racing = True
while racing:
for turtle in turtles.values():
turtle.forward(turtle.speed() + 1)
if turtle.xcor() >= finish_line:
racing = False
break
screen.exitonclick()
任意のより洗練されたのです亀のレースを取得するには、あなたはおそらく、それらをより独立して動くことができるようにontimer()
イベントと連携する必要があります。
[0と9の間で生成したランダム整数(http://stackoverflow.com/questions/3996904/generate-random-integers-between-0-and-9)の可能性の重複 – TemporalWolf