2

我知道 Magic BitBoard 技术对于 8x8 网格上的现代游戏很有用,因为它与单个 64 位整数完美对齐,但是这个想法是否可以扩展到大于 64 方格的棋盘尺寸?

一些像 Shogi 这样的游戏有更大的棋盘大小,例如 81 个方格,这不完全适合 64 位整数。

我假设您必须使用多个整数,但使用 2 个 64 位整数或 3 个 32 位整数会更好吗?

我知道这可能没有一个简单的答案,但是我需要什么样的知识来研究这样的事情?我只有一些基本/中级算法和数据结构知识。

4

1 回答 1

2

是的,您可以使用包含多个不同长度整数的结构来做到这一点。例如,您可以使用 11 个无符号字节。或者一个 64 位整数和一个 32 位整数等。任何可以加起来 81 位或更多位的东西。

我更喜欢三个 32 位整数的想法,因为每个整数可以存储三行。与使用 64 位整数和 32 位整数相比,它使您的索引代码更简单。9 16 位字也可以很好地工作,但您几乎浪费了一半的位。

您可以使用 11 个无符号字节,但索引有点难看。

考虑到所有因素,我可能会使用 3 个 32 位整数,使用每个整数的低 27 位。

于 2018-06-15T21:24:05.227 回答