我知道如何使用turtle.undo()
撤消python龟中的绘图步骤。但是我如何制作重做功能呢?
from tkinter import *
...#Just some other things
def undoStep():
turtle.undo()
def redoStep():
#What to put here
root.mainloop()
答案 0 :(得分:0)
要制作redo
功能,您需要在列表actions
中跟踪每个操作。您还需要一个变量i
,告诉您该列表中的位置,每次拨打undoStep
时,请将i
减一。然后redoStep
必须执行操作actions[i]
。这是代码:
import turtle
actions = []
i = 0
def doStep(function, *args):
global i
actions.append((function, *args))
i += 1
function(*args)
def undoStep():
global i
if i > 0:
i -= 1
turtle.undo()
def redoStep():
global i
if i >= 0 and i < len(actions):
function, *args = actions[i]
function(*args)
i += 1