Python 有没有一种方法可以让那些不在家的人获得合法的搬家机会?蟒蛇棋
我对制作国际象棋算法感兴趣。为此,我将使用python国际象棋库。然而,为了制作一个好的算法,我需要能够返回对方的合法动作,即使不是轮到他们。 所以在比赛开始时它会回来 board.legal_moves()->[A2A4、A2A1、B2B4、B2B1等] 我想知道在比赛开始时我是否可以说 棋盘。敌人的合法移动()>[A7A5、A7A6等…] 或者,如果有任何算法方法,我可以做到这一点。Python 有没有一种方法可以让那些不在家的人获得合法的搬家机会?蟒蛇棋,python,python-3.x,chess,python-chess,Python,Python 3.x,Chess,Python Chess,我对制作国际象棋算法感兴趣。为此,我将使用python国际象棋库。然而,为了制作一个好的算法,我需要能够返回对方的合法动作,即使不是轮到他们。 所以在比赛开始时它会回来 board.legal_moves()->[A2A4、A2A1、B2B4、B2B1等] 我想知道在比赛开始时我是否可以说 棋盘。敌人的合法移动()>[A7A5、A7A6等…] 或者,如果有任何算法方法,我可以做到这一点。 谢谢你抽出时间 一个解决方案是从游戏开始就在列表中记录合法移动: legal_moves = [] cur
谢谢你抽出时间 一个解决方案是从游戏开始就在列表中记录合法移动:
legal_moves = []
current_legal_moves = board.legal_moves()
legal_moves.append(current_legal_moves)
然后,您可以通过以下方式获得敌人合法移动的列表:
enemy_legal_moves = legal_moves[-1]
如果你想把这叫做游戏中的第一步,这显然是行不通的。如果您确实需要这样做,那么您可以:
legal\u moves=[black\u legal\u moves\u start\u pos]
legal\u moves
中,如上面的选项1所示
“然而,为了制作一个好的算法,我需要能够返回对方的合法移动,即使不是轮到他们。”-不,你没有。