六角板数据表示

时间:2014-10-23 20:27:15

标签: hexagonal-tiles

我现在说实话,并承认这是针对学校项目的。我们应该设计一个游戏的解算器(我不会详细说明,这不是我的帖子的目的)涉及六角形板,例如this one。我的问题是:我不知道如何将此板表示为数据。我们正在使用一种函数式语言(在这里没有详细说明),而且我在函数式编程方面并不是那么出色。如果有人知道我如何能够将六角形游戏板作为函数式编程范例中的数据进行包裹,那就太棒了!

我知道这篇文章可能超级模糊......我只是坚持数据表示,而且我确信一旦我得到这个解决方案,我就能够取得一些进展关于如何将此板表示为数据的某种想法。

1 个答案:

答案 0 :(得分:1)

注意备用行如何完美排列,建议使用2D数组。进一步注意到它们之间的行也完美排列。这表明有两种方法:

  1. 使用2个不同的2D阵列,一个用于奇数行和另一个是偶数
  2. 使用单个2D数组,请记住奇数行都是偶数行的1/2列。
  3. 即使您不能直接使用数组,您也可以考虑以这种方式组织单元格,并以适合您的约束的任何方式表示这些位置。您甚至可以使用浮点数作为列索引(这样您可以使用x。索引?.5更忠实地表示中间行元素位置。)