progect106-1/README.md

90 lines
3.5 KiB
Markdown
Raw Normal View History

# 谁是卧底游戏 - Streamlit Web应用
2026-01-08 23:41:05 +08:00
## 一、团队成员与贡献
2026-01-08 23:41:05 +08:00
<table>
<tr>
<td>姓名</td>
<td>学号</td>
<td>主要贡献(具体分工)</td>
</tr>
<tr>
<td>王子欣</td>
<td>2411020210</td>
<td>(组长)核心逻辑开发、Prompt编写、AI集成</td>
</tr>
<tr>
<td>赵珂蔓</td>
<td>2411020219</td>
<td>前端界面设计、PPT制作、UI优化</td>
</tr>
<tr>
<td>徐晨颖</td>
<td>2411020116</td>
<td>文档撰写、测试与Bug修复、游戏规则设计</td>
</tr>
</table>
2026-01-08 23:41:05 +08:00
## 二、项目简介 & 运行指南
2026-01-08 23:41:05 +08:00
### 简介
这是一个基于Streamlit开发的在线"谁是卧底"游戏解决了线下多人聚会时难以组织、角色分配不便的痛点。通过AI模拟玩家发言让单人也能体验多人推理游戏的乐趣。
2026-01-08 23:41:05 +08:00
### 如何运行
1. 安装依赖:`uv sync`
2. 启动应用:`uv run streamlit run app.py`
3. 在浏览器中访问:`http://localhost:8501`
2026-01-08 23:41:05 +08:00
## 三、开发心得
2026-01-08 23:41:05 +08:00
### 1. 选题思考
**为什么做这个?解决了谁的痛苦?**
2026-01-08 23:41:05 +08:00
2026-01-09 00:51:04 +08:00
开发心得 (Development Reflection)
1. 选题思考
为什么做这个?解决了谁的痛苦?
我一直是桌游爱好者但现实中朋友时间难凑线上平台体验又差。这个项目让我一个人也能体验推理乐趣。它服务于三类用户想练习技巧的爱好者、想学习规则的新手、需要团建的组织者。通过AI模拟真实玩家让单人游戏也有社交体验。
2. AI 协作体验
2.1 初体验
第一次用AI写代码很震撼。它能快速生成框架但常理解错需求。我意识到AI是"超级实习生",需要明确指令和严格监督。
2.2 Prompt 交互
最牛的Prompt
请用Python实现一个Streamlit页面要求
1. 使用2列布局展示游戏信息
2. 左侧显示当前玩家列表(用紫色标签突出显示卧底)
3. 右侧放置发言输入框和投票按钮
4. 添加"显示/隐藏身份"切换开关
5. 底部设置重置游戏按钮
注意组件间距保持20px整体使用暗黑主题
这个Prompt精准明确AI生成了完美的界面代码。
最坑的Prompt/交互:
帮我做个谁是卧底游戏
这个模糊prompt让AI生成了无法运行的伪代码混合了Flask和Streamlit语法还用了过时的st.beta_columns。经过3次迭代才纠正方向。
2.3 Bug 解决
AI生成投票系统的Bug
AI生成的投票统计代码有严重问题
# AI的错误代码
def handle_vote(votes):
counts = {}
for v in votes:
counts[v] += 1 # 没有初始化字典会KeyError
return max(counts)
如何发现并修复:
测试时系统频繁崩溃。我添加调试信息发现是字典未初始化。修正为:
def handle_vote(votes):
counts = defaultdict(int)
for v in votes.values():
counts[v] += 1
return max(counts.items(), key=lambda x: x[1])[0]
这个Bug让我明白AI能写代码但不会考虑边界情况必须人工验证。
3. 自我反思
3.1 离开 AI
离开AI我能完成基础版但达不到现在的质量。我能做界面和逻辑框架但AI发言系统和复杂投票机制需要AI协助。AI让开发从2周缩短到3天。
3.2 核心竞争力
AI时代程序员的核心竞争力是
问题定义能力:知道要解决什么问题
系统整合能力将AI生成的模块组合成完整系统
质量把关能力发现并修复AI的错误
价值判断能力:什么体验是"好"的,什么是"公平"的
2026-01-09 00:52:41 +08:00
未来编程是人与AI的协作。我的代码中策略是人类定的内容是AI生成的质量是人类把关的——这就是新时代的编程模式。