Skip to content

Commit

Permalink
Attempt to fix capture promotion moves #13
Browse files Browse the repository at this point in the history
  • Loading branch information
ddugovic committed Dec 31, 2017
1 parent 5d7a931 commit db9d95b
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion src/Board.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ def undoLastMove(self):
pawnPromoted = lastMove.piece
promotedPiece = self.pieceAtPosition(lastMove.newPos)
self.pieces.remove(promotedPiece)
if pieceTaken:
if pieceTaken.side == WHITE:
self.points += pieceTaken.value
if pieceTaken.side == BLACK:
self.points -= pieceTaken.value
self.pieces.append(pieceTaken)
self.pieces.append(pawnPromoted)
if pawnPromoted.side == WHITE:
self.points -= promotedPiece.value - 1
Expand Down Expand Up @@ -180,7 +186,7 @@ def makeStringRep(self, pieces):
pieceRep = ' '
stringRep += pieceRep + ' '
stringRep += '\n'
return stringRep.strip()
return stringRep.rstrip()

def wrapStringRep(self, stringRep):
sRep = '\n'.join(
Expand Down Expand Up @@ -372,12 +378,21 @@ def makeMove(self, move):
pawnToMove.movesMade += 1

elif move.promotion:
pieceToTake = move.pieceToCapture
self.pieces.remove(move.piece)
if pieceToTake:
if pieceToTake.side == WHITE:
self.points -= pieceToTake.value
if pieceToTake.side == BLACK:
self.points += pieceToTake.value
self.pieces.remove(pieceToTake)

self.pieces.append(move.specialMovePiece)
if move.piece.side == WHITE:
self.points += move.specialMovePiece.value - 1
if move.piece.side == BLACK:
self.points -= move.specialMovePiece.value - 1
move.piece.movesMade += 1

else:
pieceToMove = move.piece
Expand Down

0 comments on commit db9d95b

Please sign in to comment.