big refactor
This commit is contained in:
@@ -10,57 +10,57 @@ import chess.model.pieces.Pawn;
|
||||
import chess.model.pieces.Queen;
|
||||
import chess.model.pieces.Rook;
|
||||
|
||||
public class PieceCost implements PieceVisitor<Integer> {
|
||||
public class PieceCost implements PieceVisitor<Float> {
|
||||
|
||||
private final Color player;
|
||||
|
||||
public static final int BISHOP = 30;
|
||||
public static final int KING = 900;
|
||||
public static final int KNIGHT = 30;
|
||||
public static final int PAWN = 10;
|
||||
public static final int QUEEN = 90;
|
||||
public static final int ROOK = 50;
|
||||
public static final float BISHOP = 30;
|
||||
public static final float KING = 900;
|
||||
public static final float KNIGHT = 30;
|
||||
public static final float PAWN = 10;
|
||||
public static final float QUEEN = 90;
|
||||
public static final float ROOK = 50;
|
||||
|
||||
public PieceCost(Color color) {
|
||||
this.player = color;
|
||||
}
|
||||
|
||||
public int getCost(Piece piece) {
|
||||
public float getCost(Piece piece) {
|
||||
if (piece == null)
|
||||
return 0;
|
||||
int cost = visit(piece);
|
||||
float cost = visit(piece);
|
||||
if (piece.getColor() != player)
|
||||
cost = -cost;
|
||||
return cost;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(Bishop bishop) {
|
||||
public Float visitPiece(Bishop bishop) {
|
||||
return BISHOP;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(King king) {
|
||||
public Float visitPiece(King king) {
|
||||
return KING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(Knight knight) {
|
||||
public Float visitPiece(Knight knight) {
|
||||
return KNIGHT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(Pawn pawn) {
|
||||
public Float visitPiece(Pawn pawn) {
|
||||
return PAWN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(Queen queen) {
|
||||
public Float visitPiece(Queen queen) {
|
||||
return QUEEN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer visitPiece(Rook rook) {
|
||||
public Float visitPiece(Rook rook) {
|
||||
return ROOK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user