下载 App
【开发者日志04】 七日小馆
修改于昨天 13:162 浏览综合
开发日志④|做一道菜从开火到端上桌
今天聊聊《七日小馆》做菜这套系统。
当前版本有 4 种基础食材,5 个菜谱。做菜流程:选食材选菜谱、开火、把控关火时机,最后选择把菜送给哪位客人。
内容不算多,但想要这套流程稳定不出错,要处理一大堆边缘情况。
关火时机直接决定菜品好坏
火候分好几个阶段:
- 开火 3 秒以内关火:菜没熟透,评分会被扣
- 3‑7 秒区间:菜品品质稳定,正常得分
- 7‑10 秒关火:可以做出增香的高分菜
- 超过 10 秒:菜直接要糊了,到 12 秒自动报废
也就是说开火之后,不是干等进度条走完就完事。玩家要自己拿捏什么时候关火,也要承担烤糊的风险。
食材什么时候扣掉,这里很讲究
我们设定点击开火的时候,就直接扣掉食材,一份菜只能提交一次。
这样暂停做菜不会重复扣食材;菜烧坏或者中途放弃,投入的食材也不会返还给玩家。
菜做完之后,会单独生成一份待上菜记录,存好菜谱、菜品品质、原本预定的客人信息。只有成功把菜端给客人,才会结算接待的收益。
有了这套数据逻辑,就支持做好的菜先存着,甚至把做好的菜送给另外还在等待的客人。
一个很隐蔽的点击 bug
菜品火候发生变化的时候,界面要换颜色、更新文字提示。
最开始版本,火候一变就直接重新生成关火按钮。这就出问题:玩家手指按着按钮还没松开,按钮直接被换掉,松手点击直接失效,操作没反应。
现在火候变化只改外观、提示文字,按钮本体保持不变,就算手指正按着也不会丢失操作。
我们做测试的时候,还专门模拟这种场景:按住按钮,刚好跨过火候时间点,再松开手,而不是直接调用后台函数跳过交互。
暂停、客人走掉、打烊,全部都要考虑进做菜逻辑
炒菜的过程中,客人可能耐心耗尽直接走人,店铺也会到点打烊。所以上菜的时候,不能完全相信开火那一刻选好的对象,必须重新确认这位客人还在店里,可以接待。
存档也得把正在做的菜、已经做好等待上菜的菜品全部存下来,防止读档之后食材莫名消失,或者菜品凭空不见。
这一轮开发核心目标:从放食材开火,到菜端上桌,每一步结果都清晰稳定。











