【发布时间】:2018-07-21 02:19:40
【问题描述】:
我已经用 C++ 实现了 2048 游戏,github 链接:2048
为了实现撤消操作,即回到之前的游戏状态,我维护了一个用于之前棋盘配置的矩阵,但如果我允许连续进行许多撤消操作,我就无法维护这么多矩阵。
有什么方法可以改进这种方法?
我认为的一种方法是只保留以前的移动(上、下、左或右),但如果我在这种方法中遗漏了某些东西,或者它可能是扩展,请提出一种方法来做到这一点。
【问题讨论】:
-
“我无法维持这么多矩阵。” 4x4 的数字矩阵只有几个字节大。
-
这不是重点,我只是想减少空间,非常感谢您的帮助。
-
每个棋盘状态的副本是 2048 年游戏历史的最紧凑表示。您不仅需要存储移动方向,还必须存储每个元素移动的距离,包括合并的元素对。
-
一旦你认为你的游戏已经达到了“足够好”的状态,我建议你提交给CodeReview以获得反馈:)
标签: c++ undo game-theory 2048