-1

我现在说实话,承认这是一个学校项目。我们应该为一个游戏设计一个求解器(我不会详细介绍,这不是我的帖子的目的),它涉及一个六角板,比如这个。我的问题是:我不知道如何将此板表示为数据。我们为此使用了一种函数式语言(这里不会详细介绍),而且我在函数式编程方面不太擅长。如果有人对我如何将六边形游戏板表示为函数式编程范式中的数据有任何提示,那就太好了!

我知道这篇文章可能非常模糊......我只是停留在数据表示上,我相信一旦我对如何表示有了某种想法,我就能在这个求解器中取得一些进展此板作为数据。

4

1 回答 1

1

注意交替行如何完美排列,建议使用二维数组。进一步注意,中间的行也都完美排列。这提出了两种方法:

  1. 使用 2 个不同的 2D 数组,一个用于奇数行,另一个用于偶数行
  2. 使用单个 2D 数组,记住奇数行都从偶数行偏移 1/2 列。

即使您不能直接使用数组,您也可以考虑以这种方式组织单元格,并以适合您的约束的任何方式表示这些位置。您甚至可以使用浮点数作为列索引(这样您就可以使用 ?.5 的 x-index 更忠实地表示行间元素的位置)。

于 2014-10-23T20:38:19.373 回答