【发布时间】:2012-01-21 14:12:50
【问题描述】:
这是我作业中的一个一般性问题,我只是要求一些想法或伪代码。
假设我正在使用 C++ 构建一个井字游戏。我已经拥有的是一个Node 类,它包含一个表示当前游戏板状态的 const 成员数据,以及一个指向其他节点的指针的 const 数组,其中包含所有可能的下一步状态。所以这将是一个没有重复节点的有向图(每个节点都有其独特的游戏状态。)。
当我尝试生成这样的图表时遇到了麻烦。似乎我需要使用递归,因为 Node 类中的所有数据成员都是 const 所以没有办法改变它们。而且如果不复制节点,我很难想出一个好主意来立即生成这样的图(我的意思是让它成为一棵树很容易,但它会浪费大量的空间和时间。)。一件事可能会有所帮助,我可以比较两种不同的游戏状态,而且我认为我不能使用除<set> 之外的任何模板。
因此,如果有人对此有任何想法,请随意写下您的想法或伪代码。谢谢
【问题讨论】:
-
Java 带有一个示例井字游戏。你在网上找过例子吗?
-
@PeterLawrey 是的,我环顾了几个小时,但没有发现任何对我有帮助的东西..
-
如果需要为const,则只能在创建时设置。也就是创建完所有子节点后才能创建节点。
-
@SteveC 是的,没错,我只是对如何实现它感到困惑..
-
井字游戏的排列不是足够少,您可以为每一步生成一个 2 或 3 深度的树吗?可能不需要预先生成它们。
标签: c++ oop graph tic-tac-toe