namespace Chessistics.Engine.Model; public static class PieceRules { public static int GetSocialStatus(PieceKind kind) => kind switch { PieceKind.Pawn => 1, PieceKind.Rook => 5, PieceKind.Bishop => 3, PieceKind.Knight => 3, PieceKind.Queen => 7, _ => throw new ArgumentOutOfRangeException(nameof(kind)) }; public static int GetMaxRange(PieceKind kind) => kind switch { PieceKind.Pawn => 1, PieceKind.Rook => 2, PieceKind.Bishop => 2, PieceKind.Knight => 0, // Knight uses L-shape, not range PieceKind.Queen => 2, _ => throw new ArgumentOutOfRangeException(nameof(kind)) }; }