【发布时间】:2012-11-10 16:57:49
【问题描述】:
我正在寻找一种在棋盘游戏中为“移动”建模的好方法。我希望能够询问玩家他们的动作是什么并让他们做出回应,然后能够根据他们的动作在棋盘上执行正确的动作。问题是,有几种类型的移动,每一种都有自己的数据集。例如,在 Scrabble 中,您可以播放一个单词,它应该返回该单词、它的位置和方向(或一组带有位置或其他内容的图块),但您也可以交换图块(这将涉及返回您想要的图块交换)或通过。
类似地,在国际象棋中,您通常移动一个棋子,这应该返回一个棋子的移动以及它的去向,但您也可以城堡,这涉及指示两个棋子及其位置,或一方(国王/王后),或除了片/位置之外的其他一些信息。
我假设玩家返回 Move 对象是最好的方法,但我也愿意接受任何其他建模选择或建议。
谢谢!
【问题讨论】:
-
我个人会为这个选择基本继承
-
我认为所有类型的游戏都有一个共同的移动对象不是一个好主意。或者抽象只是一个标记。
-
澄清一下,我不是在寻找跨多个游戏的解决方案。我正在寻找特定游戏的特定实现中的解决方案。我不需要处理国际象棋移动和拼字游戏移动的东西,但我试图处理的问题对于这些游戏(和其他游戏)中的每一个都是相似的。谢谢!
标签: java design-patterns object-oriented-analysis