如何在回合制游戏中存储游戏棋子的路径?

时间:2010-05-22 00:17:23

标签: java android design-patterns

我有一个正方形网格,用于基于转弯的游戏(网格类似于国际象棋棋盘),但游戏中的移动是根据你是否至少对对手棋子进行一次或不是一次而不同。

,即如果你没有在最外面的网格中重叠(击败任何对手的棋子),如下所示

alt text http://img17.imageshack.us/img17/4508/squaregrid7x7home.png

如果你至少一次对对手的棋子进行了一次攻击,那么你就可以通过这种方式到达家中。任何让他的所有棋子都到达“家”的球员都会先获胜。

alt text http://img249.imageshack.us/img249/318/squaregrid7x7movesimple.png

黄色的是安全屋,即对手棋子和玩家的棋子都停留在同一个网格中,这不被认为是研磨(对手)。重叠的棋子将返回其起点

现在的问题是,为所有棋子存储路径的有效方法是什么。我们将为玩家和4个对手棋子设置4个棋子。

是否有任何模式以优雅的方式存储此类静态信息?

感谢您的时间

1 个答案:

答案 0 :(得分:2)

List应该可以正常工作。这对我来说似乎很优雅。

如果对性能有一些总体需求;例如你正在实现一个自动播放器,需要探索一个巨大的替代动作树,你可能会考虑别的东西。但是数据结构的要求将取决于你的游戏算法,我们无法预测。