big refactor

This commit is contained in:
2025-04-19 12:56:08 +02:00
parent 031d3d94ec
commit 13b61ad71c
10 changed files with 366 additions and 264 deletions

View File

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