Package-level declarations

Focuses on move generation and validation. Generates legal moves, checks move validity, and applies moves to the board. PseudoLegalMoveGenerator.kt: Generates moves that are legal except for leaving the king in check.

Types

Link copied to clipboard
internal class LegalMoveGenerator

Generates all legal moves for the current player, filtering out pseudo-legal moves that would leave the player's king in check.

Link copied to clipboard
data class Move(val from: Square, val to: Square, val promotionPieceType: PieceType? = null, val isCapture: Boolean = false, val isCastlingKingside: Boolean = false, val isCastlingQueenside: Boolean = false, val isEnPassantCapture: Boolean = false)

Represents a chess move, including source and destination squares, optional promotion, and special move flags.

Link copied to clipboard
data class Offset(val fileDelta: Int, val rankDelta: Int)

Represents a relative offset in file and rank for chess piece movement.

Link copied to clipboard
internal object PseudoLegalMoveGenerator

Generates all pseudo-legal moves for a given board and game state. Pseudo-legal moves do not consider checks.