makeMove

fun makeMove(board: Board, gameState: GameState, move: Move): Pair<Board, GameState>

Applies a move to the given board and gameState, returning the new board and game state.

Handles updating castling rights, en passant targets, half-move clock, and full-move number.

Return

A pair of the new board and new game state after the move.

Parameters

board

The current board state.

gameState

The current game state.

move

The move to apply.