【问题标题】:Hexagonal board data representation六角板数据表示
【发布时间】:2014-10-23 20:27:14
【问题描述】:

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

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

【问题讨论】:

  • 请注意,所使用的语言对如何做到这一点有一定的限制,所以不识别它意味着你得到的任何答案都不能考虑这些限制。

标签: hexagonal-tiles


【解决方案1】:

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

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

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

【讨论】:

  • 我给了你一些建议 - 我可能已经找到了一种使用二维数组的方法,谢谢!
猜你喜欢
  • 2018-08-22
  • 2015-06-24
  • 2015-09-20
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 2015-01-26
  • 2016-04-17
相关资源
最近更新 更多