点击《谁杀死了比尔?》来一把烧脑的推理游戏!
第一次使用Trae来开发这么一个游戏,话不多说,直接开造!
提示词部分
- 你是一个推理游戏开发者,请创建一个基于HTML和原生JavaScript的项目,名字叫做《谁杀死了比尔?》。这个项目的核心玩法是:用户作为探案者,用户通过输入自然语言的询问,如:“比尔是兄弟罗伯特杀的吗?”等,系统只能根据游戏主线,回答是或不是。每10回合公布其中的一个小细节为用户探案,直到用户找到杀死比尔的真相才游戏结束。用户只有20分钟的时间进行探案,否则游戏失败并公布真相。设置一个悬疑的BGM。
- 请搭建一个基础网页结构,主界面为一个对话框,有上下文回答的历史,初始系统对话为介绍故事的背景
- 生成游戏开始界面,点击开始进入游戏主界面,若用户输入正确则游戏结束 -根据故事情节生成和设计游戏背景、细节等等
- 设计背景图、背景音乐
- 内容与答案通过关键字的匹配来分配权重算法实现
- ....(然后就是不断的修修修修修
开始界面
游戏主界面
为了让回答问题面板更能够稍微显示背景人物比尔,于是我让Trae给我设置了0.7的透明度,为了让界面更加漂亮好看,让Trae美化了一下界面。但是,我发现了一个问题---聊天气泡长度和文字长度不协调。
再次,发问Trae,修改了一番。变成了如下的样式:
但是,测试了一番,又发现了一个bug,无论发什么与主线有无关联要么是要么不是,我查看了js代码发现原来代码是根据随机数来,随机数大于0.5就回复是,否则不是。 :( 我思考了一番,这种类型的游戏该如何去验证是否无关?我想到了机器学习里面用概率来估计关联性,于是我让Trae根据用户所给关键词分配权重来实现关联性,把数据输入进去,检验用户输入内容来判断是还是不是。
接着,为了验证数据的准确性,我让Trae生成一组测试数据,将测试数据从用户输入进去,观察控制台的输出,大部分都对了(其实测试了好几轮,和修修修
自己体验了一下,输入了正确答案,它给我回复了一个是(虽然这是我要的结果,但为什么没有出现游戏结束界面?????
于是,我告诉Trae生成一个用户输入老板并加上相关词(我不会告诉你这是细节的 才准许通过游戏的界面。
修修修修修得到了如下的游戏结束界面
结束界面
终于结束了!!!通关了(上帝视角就是快
后续准备将系统回复变成Agent.....