53 lines
862 B
Java
53 lines
862 B
Java
package chess.model.visitor;
|
|
|
|
import chess.model.Color;
|
|
import chess.model.Piece;
|
|
import chess.model.PieceVisitor;
|
|
import chess.model.pieces.*;
|
|
|
|
public class KingIdentifier implements PieceVisitor<Boolean> {
|
|
|
|
private final Color color;
|
|
|
|
public KingIdentifier(Color color) {
|
|
this.color = color;
|
|
}
|
|
|
|
public boolean isKing(Piece piece) {
|
|
if (piece == null)
|
|
return false;
|
|
return visit(piece);
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(Bishop bishop) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(King king) {
|
|
return king.getColor() == color;
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(Knight knight) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(Pawn pawn) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(Queen queen) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Boolean visitPiece(Rook rook) {
|
|
return false;
|
|
}
|
|
|
|
}
|