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)) ) ; } }