Commit Graph

3 Commits

Author SHA1 Message Date
4a3fbec057 test: 1000轮 ISMCTS 压测 + 完整分析报告
新增:
- hjha-console/Program.cs: --stress N 压测模式
  - 每局独立日志 stress_logs/round_NNNNN.txt
  - 每 50 局进度汇报 + 异常捕获
- docs/stress-test-report.md: 完整分析报告
  - P0: 包庄严重高估(5.2%成功) → 需校准阈值
  - P1: 75 moves 异常局 → 疑似死循环
  - P2: 只出单张不组合 → rollout 优化
  - P3: 性能瓶颈分析
- .gitignore: stress_logs/, analyze_stress.py

压测结果: 12.8min, 0 crashes, 1000/1000通过
2026-07-07 13:53:46 +08:00
ec87d921a3 feat: PdkBot — 外挂式自动出牌机器人
架构:
- IPdkBot 接口:外挂接入点,与核心逻辑解耦
- PdkBotView:只传自己手牌+公开信息(MaxPlayCard/ShenYuCard/Rule)
  不暴露其他玩家手牌——模拟真人视角
- PdkBot:score-based 最优策略
  评分维度:直接获胜>>对手威胁>>牌效率>>炸弹保留>>先手权>>黑桃3

对接:
- PdkGameMain.BotMode=true 启用
- WaitWanJiaShuRu中BuildBotView→bot.DecidePlay/DecideBaoZhuang
- GameBaoZhuang解除WhoPlay=GetNextPos注释以支持逐人轮询
- SetFalseOperation加DeskGameDo null守卫

文件:
- PdkFriendServer/Logic/PdkBot.cs(核心机器人)
- PdkFriendServer/Logic/PdkGameMain.cs(BotMode+对接)
- hjha-console/Program.cs(main.BotMode=true启动)
2026-07-07 13:11:13 +08:00
7b6c031d44 feat: net10.0 Linux Console mode — zero Mono, 0 compile errors
Migrated from net48 (.NET Framework) to net10.0 (cross-platform):
- All 14 csproj: net48 → net10.0, WindowsDesktop SDK → Microsoft.NET.Sdk
- Excluded WinForms files (Form/**, DebugControl, GameControl, etc.)
- Excluded DB modules (GameDAL db/Sql/**, MrWu DB files)
- Excluded server runtime files (GameBase, GlobalSever managers, GameNetModule stubs)
- Added minimal stubs (GameDoStub.cs, NamespaceStubs.cs, ServerCoreStubs.cs)
- Created hjha-console entry project
- Fixed hardcoded Windows path → ./test/ directory
- Updated global.json to SDK 10.0.109

Console test mode: PdkGameMain(null).Test() → 发牌→包庄→打牌→结算
Verified: dotnet build 0 errors, dotnet run outputs game state machine
2026-07-07 12:47:59 +08:00