跟踪棋盘游戏中的动作

时间:2012-12-03 17:31:53

标签: scheme mit-scheme

我正在MIT Sceheme创建一个国际象棋游戏。我想创建一个程序来跟踪所有部分的移动。

这是一个例子。 我让车子向上移动了5个空间。我的下一个回合我希望它回到5个空间。问题是,我不知道如何跟踪我在前一回合向前移动的棋子 - 因此我不知道如何将其移回。我现在能做的就是采取整个董事会的状态。我想我需要使用某种类型的突变?

1 个答案:

答案 0 :(得分:1)

尝试跟踪列表中所有先前的移动 - 只需在最近的移动中cons(以及告诉您移动哪个部分执行移动的符号)到移动日志列表中并将其与您一起传递程序。如果由于某种原因你需要找到最近的移动,那么向后搜索列表会很简单,如果你想跟踪游戏,这会给你一些额外的功能。

如果您想分享一些代码,我将使用更具体的实施细节编辑此答案。