Chessistics/chessistics-engine/Model/PieceRules.cs

23 lines
637 B
C#
Raw Normal View History

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,
_ => 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
_ => throw new ArgumentOutOfRangeException(nameof(kind))
};
}