【发布时间】:2016-11-10 15:43:52
【问题描述】:
我正在用 Python 制作 Turtle 游戏,其中一只 Turtle(称为 Lewi)跟随另一只 Turtle(称为 Ella)。目前,游戏的目标是让比刘易慢一点的艾拉跟在刘易后面。刘易根据箭头键移动。
Ella 确实跟着 Lewi,但问题是,如果你在 Ella 到达 Lewi 的位置之前按两次或更多次“向右”键,然后让她赶上他的位置,那么她就会开始回到她之前未能赶上刘易的所有位置,然后继续前往她错过的所有刘易的位置。
Ella 不应该原路返回,那么我该如何解决这个问题?代码如下:
import turtle
image = "C:/Python27/Pythonprogramming/image.gif"
screenr = turtle.Screen()
Lewi = turtle.Turtle()
Ella = turtle.Turtle()
screenr.addshape(image)
Lewi.shape(image)
screenr.bgpic("winXP.gif")
screenr.setup(1279, 815)
Lewi.penup()
speed = 50
def up():
Lewi.sety(Lewi.ycor()+speed)
Ella.speed(1)
Ella.goto(Lewi.pos())
if Ella.pos() == Lewi.pos():
print("loo")
def down():
Lewi.sety(Lewi.ycor()-speed)
Ella.speed(1)
Ella.goto(Lewi.pos())
if Ella.pos() == Lewi.pos():
print("loo")
def left():
Lewi.forward(-speed)
Ella.speed(1)
Ella.goto(Lewi.pos())
if Ella.pos() == Lewi.pos():
print("loo")
def right():
Lewi.forward(speed)
Ella.speed(1)
Ella.goto(Lewi.pos())
if Ella.pos() == Lewi.pos():
print("loo")
screenr.onkey(up, "Up")
screenr.onkey(down, "Down")
screenr.onkey(right, "Right")
screenr.onkey(left, "Left")
screenr.listen()
turtle.mainloop()
【问题讨论】:
标签: python move turtle-graphics