35 lines
479 B
Java
35 lines
479 B
Java
package chess.model;
|
|
|
|
public abstract class Piece {
|
|
|
|
private final Color color;
|
|
private int moved;
|
|
|
|
public Piece(Color color) {
|
|
this.color = color;
|
|
this.moved = 0;
|
|
}
|
|
|
|
public void move() {
|
|
this.moved++;
|
|
}
|
|
|
|
public Color getColor() {
|
|
return color;
|
|
}
|
|
|
|
public boolean hasMoved() {
|
|
return moved > 0;
|
|
}
|
|
|
|
public void unMove() {
|
|
this.moved--;
|
|
}
|
|
|
|
public abstract <T> T accept(PieceVisitor<T> visitor);
|
|
|
|
@Override
|
|
public abstract boolean equals(Object other);
|
|
|
|
}
|