- PlayerView: проекция состояния, в которой боту видно только то, что видно живому игроку (своя рука, стол, размеры чужих рук, счётчики) - BasicBot: политика из GAMEPLAY.md, полностью детерминированная - Match: обёртка с состоянием и подпиской на события (её же возьмёт UI) - runMatch: прогон матча без движка и без таймеров - soak-тесты: 3500 полных матчей (боты и случайные легальные ходы, 2-4 игрока), инварианты состояния проверяются после каждого действия - npm run stats:bot — распределение исходов самоигры Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
23 lines
521 B
JSON
23 lines
521 B
JSON
{
|
|
"name": "fool-cardgame",
|
|
"uuid": "2d8862c1-33e6-4159-bb31-fc590692a1e5",
|
|
"creator": {
|
|
"version": "3.8.8"
|
|
},
|
|
"dependencies": {
|
|
"@utcp/code-mode": "^1.2.13",
|
|
"sharp": "^0.35.4"
|
|
},
|
|
"devDependencies": {
|
|
"typescript": "~5.6",
|
|
"vitest": "^3.2.7"
|
|
},
|
|
"scripts": {
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc -p tsconfig.test.json",
|
|
"check:core-purity": "node scripts/check-core-purity.mjs",
|
|
"stats:bot": "vitest run --config vitest.stats.mts"
|
|
}
|
|
}
|