2015-12-02 4 views
3

Я делаю игру в блэкджек с картами, использующими черепаху, и каждый раз, когда я играю в ручную черепаху, просто печатает за последнюю игру, вместо того, чтобы очищать окно. Есть ли метод, который закрывает окно, когда он вызывается, или есть ли еще один способ сделать это?Python: Как сбросить графическое окно черепахи

+0

Извините, если я не понимаю, но вы хотите ['turtle.clear()'] (https://docs.python.org/3.1/library/turtle.html#turtle.clear)? – cmrn

+0

Насколько я понимаю, turtle.clear() только избавляется от последней вещи, которую нарисовала черепаха. Мне нужно удалить несколько вещей. –

ответ

-1

С черепахой, это turtle.done().

Если вы используете графику для python, я рекомендую John Zelle's Graphics Library. Чтобы закрыть окно, используйте window.close(). Я связал документацию для графической библиотеки, если вы заинтересованы. Удачи!

4

Я хочу уточнить, что различных черепаха функций делает как есть недопонимание в этой дискуссии, в том числе в принятом в настоящее время ответа, так как имена методов сами может сбивать с толку:


turtle.mainloop() ака turtle.Screen().mainloop() Включает контроль над в цикле событий tkinter. Обычно отсутствие turtle.Screen().mainloop() (или turtle.Screen().exitonclick() и т. Д.) Приведет к закрытию окна только потому, что программа закончится, закрыв все. Это, или один из его вариантов, должно быть последним утверждением в графической программе черепахи, если скрипт не запущен из Python IDLE -n.

turtle.done() (не закрывает окно и не сбросить ничего.) Синоним для turtle.mainloop()

turtle.clear() удаляет все это черепахи Нарисованной (а не только последняя вещь). В противном случае это не влияет на состояние черепахи.

turtle.reset() Ли turtle.clear(), а затем сбрасывает состояния этого черепах (т.е. направление, положение и т.д.)

turtle.clearscreen() ака turtle.Screen().clear() Удаляет все рисунка и всех черепахи, сброс окна его исходное состояние ,

turtle.resetscreen() aka turtle.Screen().reset() Сбрасывает все черепахи на экране в исходное состояние.

turtle.bye() aka turtle.Screen().bye() Закрывает графическое окно черепахи. Я не вижу способа использовать графические команды черепахи после того, как это вызвано.

turtle.exitonclick() аки turtle.Screen().exitonclick() После связывания события экрана Нажмите, чтобы сделать turtle.Screen().bye() вызывает turtle.Screen().mainloop()


Это не ясно, что вы можете закрыть и открыть окно графики внутри черепахи, не опускаясь до уровня Tkinter, лежащие в основе черепаха (и zelle's graphics.py)

Для того, чтобы начать новую руку в вашей игре в блэкджек, я бы предположил, что turtle.reset() или turtle.resetscreen() - ваш лучший выбор.