From 5c097caee1a4053748b0d522ec66e8a11f033a6b Mon Sep 17 00:00:00 2001 From: moranzhi Date: Fri, 9 Oct 2026 02:04:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A6=E5=AE=9A=E4=BB=93=E5=BA=93=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=9E=84=E5=BB=BA=E4=BA=A7=E7=89=A9=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E4=BB=A3=E7=90=86=E5=8D=8F=E4=BD=9C=E8=BE=B9?= =?UTF-8?q?=E7=95=8C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心不得依赖引擎界面,随机数走统一入口,避免规则写进表现层。 Co-authored-by: Cursor --- .gitignore | 13 +++++++++++++ AGENTS.md | 15 +++++++++++++++ Directory.Build.props | 10 ++++++++++ global.json | 6 ++++++ 4 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 AGENTS.md create mode 100644 Directory.Build.props create mode 100644 global.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3855e80 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +bin/ +obj/ +.vs/ +.idea/ +*.user +*.suo +*.userosscache +[Dd]ebug/ +[Rr]elease/ +_doc_extract/ +*.DotSettings.user +.godot/ +*.import diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..25244f4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,15 @@ +# Agent rules + +Read `docs/FOUNDATION.md` and `docs/ARCHITECTURE.md` before large refactors. + +- `Game.Core` must not depend on Godot. +- All randomness must go through `GameRng`. Simulation and presentation share one rules engine. +- UI must not implement game rules. Presentation renders `GameState` and plays `GameEvent`s. +- Adding or changing core rules requires adding or updating tests. +- Ordinary cards should use standard effects. Do not invent a general-purpose scripting language. +- Changing the content schema requires updating the validator and `docs/CONTENT_SCHEMA.md`. +- Changing event resolution order requires checking related tests. +- Do not create a global rule for a single card. +- Prefer the smallest working implementation. Do not optimize until there is a measured bottleneck. +- Freeze the 11 core actions in `docs/RULES.md`. New “archetypes” are combinations, conditions, or keywords — not new primitive events. +- Card packs are **in-run only**. Unlock state must reset with the run. Do not add cross-run / meta unlocks. diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..d87aacf --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,10 @@ + + + net8.0 + enable + enable + latest + true + true + + diff --git a/global.json b/global.json new file mode 100644 index 0000000..4e550c1 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "8.0.400", + "rollForward": "latestMinor" + } +}