我正在使用乌龟制作一个二十一点游戏,每次我玩一只手龟只打印在最后一场比赛而不是清理窗口.有没有一种方法可以在调用窗口时关闭窗口,还是有另一种方法可以执行此操作?
我想澄清各种乌龟函数的作用,因为在本次讨论中存在误解,包括在当前接受的答案中,因为方法名称本身可能令人困惑:
turtle.mainloop()
又turtle.Screen().mainloop()
控制tkinter的事件循环.通常,缺少turtle.Screen().mainloop()
(或turtle.Screen().exitonclick()
等)会导致窗口关闭,因为程序将结束,关闭所有内容.这个或其变体之一应该是乌龟图形程序中的最后一个语句,除非脚本是从Python IDLE -n中运行的.
turtle.done()
(不关闭窗口也不重置任何东西.)同义词 turtle.mainloop()
turtle.clear()
删除这只乌龟绘制的所有东西(不仅仅是最后一件事).否则不会影响乌龟的状态.
turtle.reset()
a turtle.clear()
然后重置这个龟的状态(即方向,位置等)
turtle.clearscreen()
aka turtle.Screen().clear()
删除所有绘图和所有海龟,将窗口重置为原始状态.
turtle.resetscreen()
又将屏幕上的所有海龟turtle.Screen().reset()
重置为初始状态.
turtle.bye()
又turtle.Screen().bye()
关闭乌龟图形窗口.在调用此方法后,我没有看到使用任何海龟图形命令的方法.
turtle.exitonclick()
aka turtle.Screen().exitonclick()
绑定屏幕点击事件后进行turtle.Screen().bye()
调用turtle.Screen().mainloop()
目前尚不清楚你是否可以从乌龟内关闭并重新打开图形窗口,而不会降到支撑乌龟的tkinter级别(和Zelle的graphics.py)
为了在你的二十一点游戏中开始新手,我猜turtle.reset()
或者turtle.resetscreen()
是你最好的选择.