为两个不同的移动示例化一个撤销方法

pvabu6sv  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(301)

我想知道你是否能帮我。我有一个难题需要实现一个撤销方法。有两种移动可以完成分配移动(为网格分配数字)和关系移动(添加关系移动)。
我有一个抽象类(userentry),它用assign和relentry示例化了一个公共方法。我称之为公共空间addtopuzzle(){
在assign类中如下所示:

@Override
public void addToPuzzle() {
    Assign a = new Assign(row, col, num);
}

在重新进入课堂时:

@Override
public void addToPuzzle() {
   RelEntry re = new RelEntry(greaterRow, greaterCol, lesserRow, lesserCol);
}

我正在尝试使用堆栈在我的益智ui中创建一个undo方法。我试过这个:

private void undo() {
    if(stack.empty())
    return;
    stack.pop().addToPuzzle();
}

移动在拼图用户界面中被示例化,我已经使用stack.push行代码将文本用户界面中的每个移动推送到堆栈中。我有一种感觉,我不是很清楚,如果是这样的情况下,对我放松,因为我是新的java。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题