驱动方式:前端每次向 POST /api/game/step 请求一步,服务端让策略在该盘面的所有合法落点中挑一个,返回落点决策与这个方块从出生、旋转、平移到直落锁定的完整帧序列。前端按帧绘制,因此一次请求就是一次完整的方块表现;/api/game/tick 则用于手动模式逐格推进。
决策后端:默认使用 DAgger 行为克隆 + 长局 PPO 微调得到的 Actor(270 维状态、18 维落点特征),它会给每个候选落点打分,侧栏展示 softmax 概率最高的 6 个。切换到「启发式教师」则使用 Dellacherie / El-Tetris 盘面评估加一步生成失败前瞻。
环境:10×20 可见区、7-bag 出块、下 5 块公开预览,动作是「旋转 / 平移后直落」的落点选择;消行计分为 40 / 100 / 300 / 1200 并有连击加成。死亡条件是新方块在出生点碰撞。
会话:浏览器用 X-Session-Id 隔离牌局,刷新页面会回到同一局;点「新开一局」用同一会话重新发牌。