diff --git a/src/go/core.py b/src/go/core.py --- a/src/go/core.py +++ b/src/go/core.py @@ -15,9 +15,6 @@ class Go: self._hashes=[] self._record=GameRecord() - def listMoves(self,diff=[]): - return [] - ## Executes a move. # # Doesn't check for kos. Suicide not allowed. @@ -47,13 +44,15 @@ class Go: def undoMove(self,r,c,captures): assert self.board[r][c]==-1*self.toMove, "{0}!={1}".format(self.board[r][c],-1*self.toMove) - self.toMove*=-1 - self.board[r][c]=self.toMove + if len(captures)>0: self._helper.clear() - for (r,c) in captures: - self._helper.floodFill(EMPTY,r,c) - self._fill(-self.toMove) + for (ri,ci) in captures: + self._helper.floodFill(EMPTY,ri,ci) + self._fill(self.toMove) + + self.board[r][c]=EMPTY + self.toMove*=-1 self._hashes.pop() def transitionMove(self,board): @@ -79,11 +78,6 @@ class Go: self.board[r][c]=filling -def exportBoard(board): - substitutions={EMPTY:".", BLACK:"X", WHITE:"O"} - return "\n".join("".join(substitutions.get(x,"?") for x in row) for row in board) - - def isLegalPosition(board): boardSize=len(board) temp=[[None]*boardSize for x in range(boardSize)]