gpt4 book ai didi

java - 九人莫里斯游戏的位板表示

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:45 26 4
gpt4 key购买 nike

我正在写一个 Nine Men's Morris game在 Java 中,并且已经使用 negamax 实现了游戏规则和 AI。然而,该游戏是基于数组的,当 AI 正在思考时(从 6 层开始)移动生成需要相当长的时间。

我的位置数组基于下图:

// 0        1        2
// 3 4 5
// 6 7 8
// 9 10 11 12 13 14
// 15 16 17
// 18 19 20
// 21 22 23

我有更多的数组,其中包含可能的磨机和相邻位置。

我决定将游戏从数组更改为使用位板,以便移动生成和当前使用数组的其他区域会更快。

我的第一步是为每个玩家设置一个位板,它会跟踪玩家在棋盘上的棋子。

第二步是确定空闲位置的位置。我知道我可以这样做:

freepositions = ~(player1bb | player2bb);

所以我的问题是,如何设置/更新玩家的位板以跟踪他们的棋子?

最佳答案

考虑到玩家的位板是 24 位长,棋盘的位置 0 是第一位,当玩家移动时设置位板非常简单,只需执行以下操作:

player1bb |= (1 << pos);

关于java - 九人莫里斯游戏的位板表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com