首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gomoku数据的C表示

Gomoku数据的C表示
EN

Stack Overflow用户
提问于 2013-01-14 20:53:11
回答 1查看 1.5K关注 0票数 0

我正在做一个Gomoku游戏,我目前正在用GUI等来完成,我需要对IA和rules进行编码(用于可选规则,如捕获、禁止模式等)。我计划用int数组代表董事会,类似于:

代码语言:javascript
复制
uint goban[361];

代表19 * 19 Goban (董事会)。假设我们可以将一个32位整数拆分成4个字节,并且在每个字节中我们可以存储这样的元数据,例如:

  • 1字节:这个情况是空/黑/白吗?
  • 第二个字节:这种情况是特殊模式的一部分吗?
  • 3字节:我在模式的哪个位置?
  • 第四个字节:我能适应吗?

我不知道这种解决方案是否适合Gomoku AI,但我的主要问题是如何正确地编写它。让我们来看看模式:

代码语言:javascript
复制
 -OO-O-

它是一个开放和自由的三,它有内部和极端的空间。我应该如何将这个模式与没有坐标的静态表示联系起来?

另一个需要关注的问题是,何时应该更新模式,以及如何更新模式,因为在361个案例中,如果我将前面的数字更新为这样的话,可能会很长:

代码语言:javascript
复制
 XOO-O-

我必须更新所有四种情况,所以我不认为它是适当的,而且它还可以影响许多其他垂直/对角线模式。

我是否应该像下面这样列出当前地图上的模式:

代码语言:javascript
复制
std::list<ThreatList> tlist;

并使地图成为一个简单的三角或焦炭数组?

我希望我的数据表示给我最大的信息,以得到一个快速更新的影响图,这将填补我的评估功能。我读过一些关于威胁空间搜索和其他Gomoku算法的内容,但是他们没有谈到数据表示,我也不知道如何正确地实现它,请帮助我找到一种清晰的方式来表示模式,以及如何更新它们。

谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2013-01-14 21:06:03

看看这个开源的Gomoku:https://github.com/garretraziel/gomoku

我想你会在里面找到很多有趣的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14326445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档