package backend; import java.util.List; import java.util.Random; public class AutoPlayer { private final Random rnd = new Random(); private int valueOf(PieceType t) { switch (t) { case Pawn: return 1; case Knight: case Bishop: return 3; case Rook: return 5; case Queen: return 9; default: return 0; } } /** Greedy‐capture AI with random tie‐break */ public Move computeBestMove(Board board) { List moves = ChessRules.generateLegalMoves(board, board.isTurnWhite()); if (moves.isEmpty()) return null; int bestScore = Integer.MIN_VALUE; Move best = null; for (Move m : moves) { int score = (m.getCapturedPiece()==null ? 0 : valueOf(m.getCapturedPiece().getType())); if (score > bestScore || (score==bestScore && rnd.nextBoolean())) { bestScore = score; best = m; } } return best; } }