현재 minmax 및 Alpha-Beta minmax 알고리즘을 사용하여 tic-tac-toe를 실행하는 AI 상대방을 구현해야하는 클래스의 프로젝트를 진행 중입니다. 움직임을 결정하십시오.가능한 이동 목록 생성 Python Tic-Tac-Toe
그러나 문제는 보드에 가능한 동작 목록을 생성하려고 시도하는 것입니다.
def genMoves(genBoard, turnNumber):
moveList = []
print "inMovesList"
#Figure out if X or O go now
if turnNumber % 2 == 0:
moveChar = "O"
else:
moveChar = "X"
i = 0;
while i < 9:
tempBoard = genBoard
if tempBoard[i] == "*":
#set tempBoard[i] to X or O
tempBoard[i] = moveChar
#append move, new board
moveList.append((i, tempBoard))
i+=1
print "MovesList: "
print moveList
return moveList
내 보드 ["*", "*", "*", "*", "*", "*", "*", "*", "*"]
으로 초기화 9 문자열 목록으로 표시됩니다 다음과 같이
내 문제 코드입니다.
내 목표는 튜플의 첫 번째 요소가 i (X 또는 O가 삽입 된 위치)이고 두 번째 요소가 결과 보드 인 튜플 목록을 반환하는 것입니다.
내가 가지고있는 문제는 정확한 수의 가능한 동작으로 목록을 수신한다는 것입니다 (예 : 수동으로 처음 4 번 이동하면 양면으로 5 번만 움직일 수 있음). a *가있는 각 위치에서 동일한 이동. (따라서 두 번째 이동에 대해 X, O, O, O, O, O, O, O, O 같은 것을 생성합니다)
이것은 처음으로 minmax를 사용해야했던 것이 아니지만 처음에는 파이썬으로해야했습니다.
이 문제를 해결하는 방법에 대한 제안 사항이 도움이 될 것입니다.
감사합니다.
빠른 응답을 보내 주셔서 감사합니다! 나는 그것이 어리석은 무언가가 될 것이라는 것을 알고있었습니다 ... – OmegaTwig
또한보십시오 : http://docs.python.org/2/tutorial/classes.html#a-word-about-names-and-objects –