1.1 KiB
1.1 KiB
name, description, type
| name | description | type |
|---|---|---|
| chess_tui_implementation | Chess TUI implemented in modules/core under de.nowchess.chess — model, renderer, parser, game loop | project |
Chess TUI standalone app implemented in modules/core, package de.nowchess.chess.
Why: Initial feature to demonstrate the system's TUI capability per ADR-001.
How to apply: When extending the chess logic (legality, castling, en passant, promotion), build on the existing Model.scala opaque Board type and add methods via extension. The @main entry point is chessMain in Game.scala. Test.scala still exists as a separate hello-world stub — do not remove it.
Key design choices:
Boardis an opaque type overMap[Square, Piece]with extension methodsColorandPieceTypeare Scala 3 enumsRenderer.renderreturnsString, never printsParser.parseMovereturnsOption[(Square, Square)]— coordinate notation only (e.g.e2e4)- No move legality validation — moves are applied as-is
- ANSI 256-colour background codes used for light/dark squares (48;5;223 beige, 48;5;130 brown)