Chessistics/chessistics-engine/Model/PieceRules.cs
Samuel Bouchet 672b831fc1 Add Pion piece, surplus stock, and levels 4-6
- Pion (Pawn): orthogonal range 1, social status 1 (lowest), green color
- All existing levels get surplus stock including pawns for player choice
- Level 4 "Le Carrefour": 8x8, dual cargo diagonal routes, center wall block
- Level 5 "Le Labyrinthe": 8x6, wall corridors, knights essential for shortcuts
- Level 6 "Trois Royaumes": 10x8, 3 productions + 3 demands, full network puzzle
- Production interval concept removed (all produce every turn)
- GDD updated with Pion section and 6 level descriptions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 22:03:36 +02:00

22 lines
637 B
C#

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))
};
}