我正在使用哈希函数来处理我正在处理的游戏,它在网格中查找相同的邻居并返回哈希值。一旦我有这个值,我想在场景中放置适当的游戏对象,面向我从哈希值推断的正确方向。
哈希值就是这样。我拿着我目前正在处理的磁贴,看看它的八个邻居,如果它们是相同的磁贴,我将其添加到散列值。根据我正在查找的当前图块的位置设置值。例如:
左上角的瓷砖将始终添加1,顶部中间始终为2等。 如果中心瓷砖是墙,而瓷砖2和8是墙,则散列将返回10.这是相对微不足道的。我想要克服的问题是,哈希可能会返回255个值。我只有4个独特的对象,哈希告诉我要放置4个中的哪个以及旋转它的方向。在2 + 8 = 10的例子中,我根本不会旋转它,但是如果哈希是8 + 64 = 72,我会放置瓦片并将其旋转270度。
有明显的模式,即2 + 8,2 + 16,16 + 64,8 + 64都是相同的相同对象,只是旋转不同。同样,1 + 2 + 8 + 16,2 + 4 + 8 + 16等是同一个对象。
我一直在努力识别自己的模式,但我没有取得多大进展。有没有办法简化255个潜在产出?我只有4个物体,每个物体有4个潜在的旋转,所以我知道图表上的每个输出在不同的旋转中有三个其他相同的输出。希望能靠自己解决这个问题,但我没有太多运气。提前感谢任何人可能提供的任何帮助或输入。在此期间继续努力。