import turtle
STAMP_SIZE = 20
SQUARE_SIZE = 15
FINISH_LINE = 200
COLOR_LIST = ['red', 'blue', 'green', 'brown', 'yellow', 'purple']
def draw_start():
turtle.speed('fastest')
turtle.penup()
turtle.setpos(-350, 300)
turtle.pendown()
turtle.right(90)
turtle.forward(520)
def draw_finish():
turtle.shape('square')
turtle.shapesize(SQUARE_SIZE / STAMP_SIZE)
turtle.penup()
for i in range(18):
turtle.setpos(FINISH_LINE, (300 - (i * SQUARE_SIZE * 2)))
turtle.stamp()
for j in range(18):
turtle.setpos(FINISH_LINE + SQUARE_SIZE, ((300 - SQUARE_SIZE) - (j * SQUARE_SIZE * 2)))
turtle.stamp()
turtle.hideturtle()
def move_turtle(who):
who.forward(random.randint(1, 10))
if who.xcor() < FINISH_LINE:
turtle.ontimer(lambda who=who: move_turtle(who), 50)
print('Welcome to Turtle Racing!')
number_of_turtles = int(input('How many turtles (between 3 and 6): '))
draw_start()
draw_finish()
turtle_list = []
for idx in range(number_of_turtles):
racer = turtle.Turtle('turtle', visible=False)
racer.speed('fastest') # affects drawing speed, not forward motion
racer.penup()
racer.setpos(-350 - STAMP_SIZE, 280 - idx * 90)
racer.color(COLOR_LIST[idx])
racer.showturtle()
turtle_list.append(racer)
for racer in turtle_list:
turtle.ontimer(lambda who=racer: move_turtle(who), 100)
turtle.exitonclick()
No hay comentarios:
Publicar un comentario