Pawn moves
This commit is contained in:
@@ -26,7 +26,13 @@ final class Bishop: Piece, DiagonalMoves {
|
||||
let piece = square.piece
|
||||
{
|
||||
if piece.color != color {
|
||||
delegate?.notify(.piecePinned(from: self, on: piece))
|
||||
if let king = piece as? King {
|
||||
delegate?.notify(.kingInCheck(self, on: king))
|
||||
legalPositions.removeLast()
|
||||
} else {
|
||||
delegate?.notify(
|
||||
.piecePinned(from: self, on: piece))
|
||||
}
|
||||
last = position
|
||||
}
|
||||
}
|
||||
@@ -35,7 +41,12 @@ final class Bishop: Piece, DiagonalMoves {
|
||||
}
|
||||
|
||||
override func isLegal(on pos: Square.Position) -> Bool {
|
||||
super.isLegal(on: pos)
|
||||
if let s = delegate?.getSquareInfo(on: pos), let p = s.piece,
|
||||
p.color == color
|
||||
{
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
init(with color: Color, on position: Square.Position) {
|
||||
|
||||
Reference in New Issue
Block a user