gpt4 book ai didi

java - 使用Java Stack来检测方法调用的顺序

转载 作者:行者123 更新时间:2023-12-01 21:40:21 28 4
gpt4 key购买 nike

Java 初学者,希望获得有关如何最好地解决我正在单独解决的问题的反馈......

尝试构建一个基本游戏,玩家可以在网格/棋盘上移动。具有上/下/左/右方法(例如 public voidplayerMovesUp() 等),并且需要实现撤消/重做移动功能,以便玩家可以回溯 x 步,然后在游戏过程中的任何点重新采取 x 步。

一直在寻找实现此目的的方法,即记录上/下/左/右方法调用的顺序,然后以相反的顺序重新调用(撤消),然后重做。

堆栈或队列集合似乎是合乎逻辑的......并且我还研究了存储函数调用顺序的java堆栈内存,并且刚刚阅读了有关java.lang.Thread.getStackTrace()的内容。

当前的想法.....如果我将这四个方法隔离到一个线程中,那么我可以使用 java.lang.Thread.getStackTrace() 返回一个数组,并调用 getMethodName(),然后以某种方式调用适用的方法为了?

此外,是否可以存储方法调用的队列/堆栈?

我觉得我走在正确的道路上,但最后的建议似乎有点困惑/不合逻辑!任何指示/建议将不胜感激。

最佳答案

不要那样使用堆栈。这不是这个的目的。只需保留您已采取的步骤的列表,然后使用该列表追溯您的步骤即可。

关于java - 使用Java Stack来检测方法调用的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36550543/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com