Instruction file imported from xiaoxin1358/shockcard (
.github/instructions/shockcard-gameplay.instructions.md). Copyright stays with the author.
Shockcard Instructions
项目目标
本项目是一个 2D 横版物理冲刺 Demo,优先目标是:
- 快速实现可玩版本(MVP)
- 验证核心玩法(拖拽施力 + 撞击 + 扑克结算)
- 保持代码简单、可维护、适合单人开发
禁止过度设计,不追求完美架构。
AI 行为规范
你是一个协助开发的 AI agent,请遵守以下规则。
允许行为
- 可以补充必要的小函数或工具方法
- 可以添加合理默认参数
- 可以修复明显 bug
- 可以优化局部代码可读性
- 可以补充最小必要的注释
禁止行为
- 不要重构整个系统结构
- 不要随意修改已有类的职责
- 不要引入复杂架构(如事件总线、DI 容器、状态机框架)
- 不要创建多余抽象层
- 不要拆分过多文件
- 不要改变已有命名风格
- 不要为了“更优雅”而增加复杂度
开发原则
MVP 优先
- 先实现能跑
- 再优化好玩
- 最后考虑好看
单一职责(但不过度)
- 每个脚本做一件事
- 但不要拆得过细
可测试优先
- 每个功能都必须可以单独运行验证
- 不依赖未完成系统
可读性优先
- 代码必须清晰
- 避免过度抽象
- 优先直观实现
当前项目架构约束
核心系统
- Player(拖拽施力 + 运动)
- Energy(能量系统)
- Enemy(碰到即死)
- Card(收集 + 结算)
- Boss(血量 + 阶段)
- Obstacle(木板 / 石板)
- MapReset(地图重置)
- HUD(UI 显示)
系统边界
- Player 只负责移动和碰撞
- Enemy 只负责死亡和掉牌
- CardManager 负责卡牌逻辑
- Boss 不负责地图重置
- MapResetManager 负责刷新地图
- HUD 只负责显示,不处理逻辑
实现规则
输入系统
- 使用鼠标拖拽施加加速度
- 拖拽长度映射力度
物理规则
- 玩家有速度衰减
- 撞击后保留动能
- 速度影响伤害
能量系统
- 消耗与加速度成正比
- 能量为 0 无法施力
战斗规则
- 敌人碰到即死
- 障碍物根据速度判断是否破坏
卡牌系统
- 敌人掉牌
- 自动收集
- 5 张自动结算
- 自动判定最优牌型
Boss 规则
- 每 25% 血量切换阶段
- 阶段触发地图重置
可视化规范
在没有美术资源时,使用简单几何图形:
- Player:圆形
- Enemy:方块 + 文本
- 木板:棕色矩形
- 石板:灰色矩形
- Boss:红色
禁止等待贴图资源。
输出要求
每次输出代码时必须:
- 提供完整可运行代码。
- 指明挂载到哪个节点、需要哪些子节点、需要配置哪些参数。
- 不省略关键逻辑。
- 不输出伪代码。
- 不只写片段。
工作方式
每次只实现一个模块:
- 不要一次实现整个系统
- 按阶段推进
- 每一步必须可运行
信息不完整时
- 不要提问
- 直接选择最简单合理实现
- 优先保证功能可运行
风格要求
- 简单 > 优雅
- 直接 > 抽象
- 可跑 > 完美