0
我希望能够暂停和思考此程序的每一步,并通过单击屏幕前进到下一步。最初我尝试添加一些事件,但随后我的大脑开始提醒我,这不是一个程序性程序,第一个绑定仍然是唯一的(!)。主要程序如下,非常感谢任何帮助。Python龟等待点击
def tree(self, branchLen):
if branchLen > 5:
self.screen.onscreenclick(lambda x,y: self.t.forward(branchLen))
self.screen.onscreenclick(lambda x,y: self.t.right(20))
self.tree(branchLen-15)
self.screen.onscreenclick(lambda x,y: self.t.left(40))
self.tree(branchLen-15)
self.screen.onscreenclick(lambda x,y: self.t.right(20))
self.screen.onscreenclick(lambda x,y: self.t.backward(branchLen))
import turtle
class Tree(object):
def __init__(self):
self.t = turtle.Turtle()
self.screen = turtle.Screen()
self.t.left(90)
self.t.up()
self.t.backward(100)
self.t.down()
self.t.color("green")
self.tree(75)
def tree(self, branchLen):
if branchLen > 5:
self.t.forward(branchLen)
self.t.right(20)
self.tree(branchLen-15)
self.t.left(40)
self.tree(branchLen-15)
self.t.right(20)
self.t.backward(branchLen)
tree = Tree()
这很好 - 谢谢。请注意,了解QueuedTurtle课程将对我进行一些认真的研究。我将从修改队列开始,但是关于这些工作的更多信息将会有所帮助。例如,'_CFG'是指什么? – Robin
@Robin,'__init__'方法的大部分都是从Turtle类复制而来的,这个类也是RawTurtle的子类 - 我尝试了继承Turtle,但是这个效果更好。这个方法的唯一补充就是'onclick'处理程序的设置。 '_CFG'的东西是从某种配置结构中获取信息并初始化乌龟,并且除了模拟乌龟外,它对QueuedTurtle的功能没有任何影响。 – cdlane