| 155 | moves.append(Move((r,c), (endRow, endCol), self.board)) |
| 156 | |
| 157 | def getBishopMoves(self, r,c,moves): |
| 158 | directions = ((-1, -1), (-1, 1), (1, -1), (1, 1)) |
| 159 | enemyColor = "b" if self.whiteToMove else "w" |
| 160 | for d in directions: |
| 161 | for i in range(1, 8): |
| 162 | endRow = r + d[0] * i |
| 163 | endCol = c + d[1] * i |
| 164 | if 0 <= endRow < 8 and 0 <= endCol < 8: |
| 165 | endPiece = self.board[endRow][endCol] |
| 166 | if endPiece == "--": |
| 167 | moves.append(Move((r,c), (endRow, endCol), self.board)) |
| 168 | elif endPiece[0] == enemyColor: |
| 169 | moves.append(Move((r,c), (endRow, endCol), self.board)) |
| 170 | break |
| 171 | else: |
| 172 | break |
| 173 | else: |
| 174 | break |
| 175 | |
| 176 | def getQueenMoves(self, r,c,moves): |
| 177 | self.getRookMoves(r, c, moves) |