通过外部化逆转计算



我有一种明显的感觉,我又要发疯了。几个月前,我建立了一个系统,可以搜索代码并使用反射进行修改。这工作得很好,现在我正试图重建这个系统,并概括一下它的一些方面。我想做的一件事是对最近的计算中可能发生的变化保持不可知论。

例如,假设我正在执行一个马里奥程序,我们按下了一个按钮。游戏的状态已经改变了,但我们不知道是如何改变的。我想扭转这种效果,这样我就可以回到过去,按下不同的按钮。我的计划是:

  • 外部化所有可能对他们有影响的游戏类。存储所有非final字段的值,包括静态值。
  • 使用extern写出所有游戏对象。
  • 使用extern写出所有游戏对象(以防我们稍后想要跳转回此状态)
  • 重新读取更改前的状态
从表面上看,这里有什么东西会在我脸上爆炸吗?这是个好主意吗?或者一些静态场/奇怪的行为会把我搞砸吗?对于外部化,我确实计划通过反射请求所有字段的列表,并按照迭代顺序将它们写出来,以便不遗漏任何内容。

Mods -我使用标签序列化作为外部化不是一个现有的标签。希望没有问题。

编辑-我不需要局部变量的值,或者堆栈或堆。这可能是以后要考虑的——特别是对象的存在/不存在,这些对象可能在更改之间被销毁。

本质上,我需要反转一个一般的计算步骤。不知道这是否可能

可能是我误解了你的问题,但在我看来,你正在寻找的是面向方面的编程。
如果你已经用了Spring,你可以用它。别白费力气了

相关内容

  • 没有找到相关文章

最新更新