public class King extends Piece {
public King(Cell cell, PieceColor pieceColor) {
super(cell, pieceColor) ;
}
@Override
public boolean isValidMove(Cell c, Cell board[][], Piece pw[], Piece pb[]) {
if (super.isDeleted()) return false ;
int sw=0 ;
if (super.getPieceColor() == PieceColor.BLACK) {
for (Piece p:pw) {
if (!p.isDeleted() && p.getCell().getRow()==c.getRow() && p.getCell().getCol()==c.getCol()) sw=1 ;
}
}
else {
for (Piece p:pb) {
if (!p.isDeleted() && p.getCell().getRow()==c.getRow() && p.getCell().getCol()==c.getCol()) sw=1 ;
}
}
return ( (
(this.getCell().getCol() == c.getCol() && Math.abs(this.getCell().getRow() - c.getRow()) == 1) ||
(this.getCell().getRow() == c.getRow() && Math.abs(this.getCell().getCol() - c.getCol()) == 1) ||
(Math.abs(this.getCell().getCol()-c.getCol())==1 && Math.abs(this.getCell().getRow()-c.getRow())==1)
) && (c.isEmpty() || (!c.isEmpty() && sw==1))
) ;
}
}
-
kimia authored7bc51122