GroupZHU/plan1.md
2026-01-08 18:25:46 +08:00

235 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 密室杀人侦破 - 详细开发计划
## 项目概述
**项目名称**: 密室杀人侦破
**项目类型**: 网页推理游戏
**核心功能**: 使用DeepSeek API自动生成剧情和选项文案
## 游戏核心机制
### 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生成剧情 + 动态结局系统