【发布时间】:2021-12-23 02:41:32
【问题描述】:
当我的海龟离开浅蓝色方块时,我希望它们朝方块中间移动,以便它们再次进入方块内。然而,他们似乎没有响应我的最后一个 for 循环。目标是不让海龟离开浅蓝色方块。
import turtle
import random
bobby = turtle.Turtle()
robby = turtle.Turtle()
bobby.color('blue')
robby.color('red')
bobby.shape('turtle')
robby.shape('turtle')
robby.speed(0)
bobby.speed(0)
def rectangle(x, y, width, height, color):
bobby.penup()
bobby.goto(x, y)
bobby.pendown()
bobby.setheading(0)
bobby.fillcolor(color)
for i in range(2):
bobby.begin_fill()
bobby.forward(width)
bobby.left(90)
bobby.forward(height)
bobby.left(90)
bobby.end_fill()
rectangle(-250, -250, 500, 500, 'lightblue')
directions = list(range(-45, 45))
forward = list(range(0, 25))
x = list(range(-250, 250))
y = list(range(-250, 250))
def jump(x, y, Aturtle):
Aturtle.penup()
Aturtle.goto(x, y)
Aturtle.pendown()
jump(random.choice(x), random.choice(y), bobby)
jump(random.choice(x), random.choice(y), robby)
def move_random(Aturtle, dir, forw):
Aturtle.setheading(Aturtle.heading() + random.choice(dir))
Aturtle.forward(random.choice(forw))
for i in range(250):
if bobby.xcor() and bobby.ycor() and robby.xcor() and robby.ycor() < 250:
move_random(bobby, directions, forward)
move_random(robby, directions, forward)
else:
bobby.towards(0, 0)
robby.towards(0, 0)
turtle.done()
【问题讨论】:
-
这是关于最后一个 for 循环中的
if bobby.xcor() and bobby.ycor() and robby.xcor() and robby.ycor() < 250:行 -
and无法按预期工作 - 您必须将每个值与< 250分别进行比较 -bobby.xcor() < 250 and bobby.ycor() < 250 and ...
标签: python turtle-graphics python-turtle