GroupZHU/plan1.md

235 lines
5.4 KiB
Markdown
Raw Permalink Normal View History

# 密室杀人侦破 - 详细开发计划
## 项目概述
**项目名称**: 密室杀人侦破
**项目类型**: 网页推理游戏
**核心功能**: 使用DeepSeek API自动生成剧情和选项文案
2026-01-08 18:25:46 +08:00
## 游戏核心机制
### 1. 基本游戏流程
- **场景数量**: 20个独立场景
- **选项数量**: 每个场景4个选项
- **进度系统**: 0-100%进度条达到100%时结案
- **结局类型**: 好结局、坏结局、最坏结局
### 2. 选项类型与效果
#### 选项分类(玩家不可见)
1. **正确选项**
- 进度增加: 5-10%
- 效果: 正常推进剧情,无负面效果
2. **错误选项**
- 进度增加: 5-10%
- 效果: 可能触发坏结局条件
3. **未知选项**
- 进度变化: 保持不变
- 效果: 需要玩家谨慎判断
4. **危险选项**
- 进度增加: 8-10%
- 效果: 可能触发最坏结局条件
### 3. 危机系统
#### 触发条件
- 连续选择危险选项 ≥ 3次
#### 危机效果(随机触发一种)
1. **紧张状态**
- 增加2个无关选项
- 选项总数变为6个
2. **焦虑状态**
- 所有选项文本有概率变为黑框不可见状态
- 降低判断难度
3. **恐慌状态**
- 界面颜色变为黑、红、白
- 选项文字出现抖动效果
### 4. 结局判定系统
#### 结局条件
- **好结局**: 正确辨别真凶
- **坏结局**: 找到表面罪犯,真凶另有其人
- **最坏结局**: 被误认为罪犯
#### 结局触发规则
- 错误 + 危险选项选择次数 ≥ 7次: 好结局 → 坏结局
- 危险选项选择次数 ≥ 4次: 坏结局 → 最坏结局
## 技术架构设计
### 1. 前端技术栈
- **框架**: React/Vue.js
- **样式**: CSS3 + 动画效果
- **状态管理**: Redux/Vuex
- **路由**: React Router/Vue Router
### 2. 后端技术栈
- **语言**: Node.js/Python
- **API集成**: DeepSeek API调用
- **数据存储**: 本地存储/简单数据库
### 3. API集成设计
#### DeepSeek API调用策略
```javascript
// 场景生成API调用
const generateScene = async (currentProgress, previousChoices) => {
const prompt = `
生成第${currentScene}个密室杀人场景:
当前进度:${currentProgress}%
玩家选择历史:${previousChoices}
请生成:
1. 场景描述200-300字
2. 4个选项文案每个选项20-30字
3. 选项类型标注(正确/错误/未知/危险)
`;
return await callDeepSeekAPI(prompt);
};
```
#### 剧情连贯性保证
- 保存玩家选择历史
- 基于历史生成连贯剧情
- 维护角色关系和证据链
## 用户界面设计
### 1. 页面结构
1. **首页**
- 游戏标题和背景介绍
- 案件基本信息
- "开始推理"按钮
2. **游戏主界面**
- 顶部: 进度条显示
- 中部: 当前场景描述
- 底部: 4个选项按钮
- 侧边: 证据收集区域(可选)
3. **结局页面**
- 案件结论展示
- 结局评价
- 重新开始按钮
### 2. 视觉设计
- **主色调**: 暗色系(营造神秘氛围)
- **字体**: 易读的衬线字体
- **动画**: 平滑的过渡效果
- **响应式**: 适配移动端和桌面端
## 开发阶段规划
### 第一阶段基础框架搭建1-2周
- [ ] 项目初始化
- [ ] 基础页面结构
- [ ] 简单的状态管理
- [ ] DeepSeek API集成测试
### 第二阶段核心功能实现2-3周
- [ ] 场景生成系统
- [ ] 选项选择逻辑
- [ ] 进度管理系统
- [ ] 基础UI界面
### 第三阶段高级功能开发2周
- [ ] 危机系统实现
- [ ] 结局判定系统
- [ ] 视觉特效(恐慌状态)
- [ ] 数据持久化
### 第四阶段优化和测试1周
- [ ] 性能优化
- [ ] 用户体验测试
- [ ] Bug修复
- [ ] 部署上线
## 数据结构和状态管理
### 1. 游戏状态对象
```javascript
const gameState = {
currentScene: 1,
progress: 0,
choicesHistory: [],
dangerCount: 0,
errorCount: 0,
crisisActive: false,
crisisType: null,
endingType: 'good' // good/bad/worst
};
```
### 2. 场景数据结构
```javascript
const sceneData = {
id: 1,
description: "场景描述文本",
options: [
{ text: "选项1", type: "correct", effect: 8 },
{ text: "选项2", type: "danger", effect: 10 },
{ text: "选项3", type: "unknown", effect: 0 },
{ text: "选项4", type: "error", effect: 6 }
]
};
```
## 安全注意事项
### API密钥安全
- 不要在前端代码中硬编码API密钥
- 使用环境变量或后端代理
- 考虑使用服务器端API调用
### 用户数据保护
- 仅存储必要的游戏进度数据
- 不收集个人敏感信息
- 提供数据清除功能
## 扩展功能(可选)
### 1. 多案件系统
- 不同难度级别的案件
- 随机生成案件内容
- 案件收藏和重玩功能
### 2. 成就系统
- 完美推理成就
- 快速通关成就
- 特殊结局成就
### 3. 社交功能
- 成绩分享
- 排行榜系统
- 好友挑战
## 风险评估
### 技术风险
1. **API稳定性**: DeepSeek API服务中断
- 应对: 本地缓存备用剧情
2. **生成质量**: AI生成内容不符合预期
- 应对: 人工审核+内容过滤
### 用户体验风险
1. **难度平衡**: 游戏过于简单或困难
- 应对: 动态难度调整机制
2. **剧情连贯性**: 场景之间逻辑断裂
- 应对: 强化上下文关联生成
---
**项目负责人**: 朱鹏翰
**预计完成时间**: 6-8周
**技术难度**: 中等
**创新点**: AI生成剧情 + 动态结局系统