我正在寻找一种在棋盘游戏中为“移动”建模的好方法。我希望能够询问玩家他们的动作是什么并让他们做出回应,然后能够根据他们的动作在棋盘上执行正确的动作。问题是,有几种类型的移动,每一种都有自己的数据集。例如,在 Scrabble 中,您可以播放一个单词,它应该返回该单词、它的位置和方向(或一组带有位置或其他内容的图块),但您也可以交换图块(这将涉及返回您想要的图块交换)或通过。
类似地,在国际象棋中,您通常移动一个棋子,这应该返回一个棋子的移动以及它的去向,但您也可以城堡,这涉及指示两个棋子及其位置,或一方(国王/王后)或其他一些件/位置以外的信息。
我假设 Player 返回 Move 对象是最好的方法,但我也愿意接受任何其他建模选择或建议。
谢谢!