Files
chenmoranzhiandCursor 06eb360fbf 把规则、架构与实现路线写成仓库文档。
后续改内容或结算顺序时有冻结依据,不必再翻原始稿才能对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 02:04:20 +08:00

35 lines
1.5 KiB
Markdown

# Card Roguelike
Simulation-first PvE card roguelike. Godot comes after a headless rules engine.
Start here: `docs/FOUNDATION.md`, `docs/ARCHITECTURE.md`, `docs/DESIGN.md`, `docs/SURFACES.md` (headless vs interactive).
## Implementation roadmap
1. **CLI combat** — shared starting package, attack/activate, guaranteed field, guard/cult core.
2. **CLI full run (current)** — reward → Holder assignment → simple upgrades → next fight.
3. **Playtest client** — `Game.Client` browser UI; emoji/SVG placeholders. Godot still later.
4. **Art pass** — replace placeholders.
5. **Expansion card packs** — near the art pass.
## Status
CLI combat + CLI full run + browser playtest client. Core owns rules and in-run progression (`RunProgress`). Client only renders and posts legal actions. Placeholder art: emoji + SVG.
## Build
Requires [.NET 8 SDK](https://dotnet.microsoft.com/download).
```powershell
dotnet test CardGame.sln
dotnet run --project tools/HeadlessBattle -- --auto
dotnet run --project tools/HeadlessBattle -- --run --auto
dotnet run --project tools/HeadlessBattle -- --run --seed 42 --fights 3
dotnet run --project src/Game.Client
```
`--run`: fight → draft from unlocked packs → assign Holder → simple upgrade → next fight (default 3). `--auto` picks for both seats and between-fight choices.
Browser client: http://127.0.0.1:5088 — you play P0; P1 auto-resolves after each of your actions.
Interactive combat: enter action numbers for P0; P1 is AI. `a` = auto one step for P0, `q` = quit.