【发布时间】:2017-04-24 15:03:00
【问题描述】:
我正在尝试编写一个通过按空格键来启动和停止海龟的程序。我得到了启动乌龟移动的代码,但是当我再次按下它时它并没有停止它。它似乎只是增加速度。这是我的编码要求和我输入的代码。
用三个函数创建一个海龟程序来控制海龟。创建一个名为 turnLeft 的函数,当在键盘上按下右箭头时,它会将海龟向左旋转 90 度。创建一个名为 turnRight 的函数,当按下右箭头时,该函数将海龟向右旋转 90 度。创建第三个名为 move() 的函数,它在按下空格键时向前移动海龟,然后在第二次按下空格键时停止海龟。
import turtle
turtle.setup(400,500)
wn = turtle.Screen()
wn.title("Tess moves in space")
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
def leftTurtle():
tess.left(90)
def rightTurtle():
tess.right(90)
state_num = 0
def advance_state_machine():
global state_num
if state_num == 0:
tess.penup()
state_num = 1
else:
tess.pendown()
tess.forward(2)
state_num = 0
wn.ontimer(advance_state_machine, 25)
def exitWindow():
wn.bye()
wn.onkey(advance_state_machine, "space")
wn.onkey(exitWindow, "q")
wn.onkey(leftTurtle, "Left")
wn.onkey(rightTurtle, "Right")
wn.listen()
wn.mainloop()
【问题讨论】:
标签: python python-3.x turtle-graphics