Как я могу сделать этот код для поиска правильных шахматных ходов более эффективным?Python

Программы на Python
Anonymous
Как я могу сделать этот код для поиска правильных шахматных ходов более эффективным?

Сообщение Anonymous »

Я пытаюсь создать шахматный движок без использования шахматных библиотек Python, чтобы узнать больше о шахматном программировании.
Сгенерировал набор псевдоправильных ходов (- рокировка и на проходе) и создал функцию для генерации только допустимых ходов из списка.
Мой код для этой функции находится здесь:

Код: Выделить всё

def generateLegalMoves(currentPos, colourToMove):
kingNumber = 1 if colourToMove == "b" else 9
opponentColour = "w" if colourToMove == "b" else "b"
legalMoves = []
myKingSquare = currentPos.index(kingNumber)
pseudoLegalList = GeneratePsuedoLegalMoves(currentPos, colourToMove)
for pseudoMove in pseudoLegalList:
newPos = makeMove(currentPos, pseudoMove[0], pseudoMove[1])
newPosPsuedoLegalMoves = GeneratePsuedoLegalMoves(newPos, opponentColour)
isLegal = True
for j in newPosPsuedoLegalMoves:
if j[1] == myKingSquare:
isLegal = False
if isLegal:
legalMoves.append(pseudoMove)
return legalMoves
Как мне написать более эффективную версию?

Вернуться в «Python»