# README-餐厅经营游戏 **Repository Path**: li-dikai/game ## Basic Information - **Project Name**: README-餐厅经营游戏 - **Description**: README-餐厅经营游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-12-08 - **Last Updated**: 2023-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 在尝试.txt中尝试在线编辑QWQ 饭店经营 功能需求 涉及的单位 时间: 显示在左上角,初始值为“W0 D0”,表示第几周星期几 W:周,W+数字,表示第几周,每过7天,W后面的数字增加1 D:天,D+数字,表示星期几,每周有7天,所以D有D1~D7,每一天有 X 秒(X 自定义,建 议可以为240)。D7结束后,D变回D1,W增加1 账上金额: 显示在右上角,初始值为 ¥500(可自定义) 金额变化情形 顾客支付时,增加顾客支付的金钱数量 厨师开始做菜时,减去做菜的成本 D7结束的时候,支付厨师的工资,每个厨师的工资 = 向上取整(按厨师当周实际工作的天数 / 7 * 周薪)。每个厨师的周薪假设为 ¥140(可自定义) 解雇厨师时,支付厨师的当周工资及额外的解雇费用,周工资计算方式同上,解雇费用为一周工 资。 当支出大于现有余额时,显示为负值 餐厅中的角色 厨师 顾客 你 顾客 顾客的属性: 姓名:顾客的姓名(开发者自行确定) 头像:顾客显示在界面中的形象(见图片资源) 顾客的行为: 1.来到餐厅:顾客到餐厅,在同一天里,顾客可以不来,也可以来,且最多来一次 等待接待:顾客到餐厅后,先在餐厅外面等候你接待;等候区最多容纳 X 位顾客(X自定义,建议 为6)。当等候区人满的时候,如果有新顾客来到餐厅,他将会直接离开,不进入等候区,且今天 都不会再来。 2.放弃等位:顾客耐心有限,所以等待接待是有时间限制的,当超过等待时间 n 秒(n自定义,但建 议小于 1D 的时间),顾客会放弃等位离开,且这天内都不会再来; 入座:当餐厅有空座,你点击等位的任何一个顾客头像,都会让排在第一位的顾客入座;当餐厅没 有空座时,点击等位任何一个顾客头像时不做响应;(入座亦可简化需求:当餐厅有空座时,排等 候第一位的顾客自动入座) 3.点餐:顾客入座后,自动弹起点餐界面,此时时间停止,顾客开始点餐,按照界面中提供的菜肴和 点餐规则进行点餐(菜肴名字也可以自定义,但注意如果菜肴名字过长,在界面的其它显示菜肴的 地方注意做超长截断的体验优化)。顾客完成点餐,点餐信息发送给下一个环节,点餐界面消失, 时间继续走动,顾客开始等候上菜。当顾客点餐不符合规则时,完成点餐的按钮呈现不可点击样 式,且点击不做响应; 4.放弃点餐:顾客若这时放弃点餐,则直接离开位置和餐厅,且今天不再来,然后点餐界面消失,时 间继续走动; 5.等待上菜:每道菜的等候忍耐时间不同,凉菜和饮品的等候耐心时间较短,主菜的等候耐心时间较 长; 6.用餐:每上一个菜后,顾客开始用餐,每个菜有一个用餐时间,凉菜和饮品的用餐耐心时间较短, 主菜的用餐时间较长;用餐是串行的,只有完成一个菜的用餐才会进行下一个菜,用餐顺序按上菜 顺序进行。如果顾客的某一个菜未在等候耐心时间到达终点前上,则顾客放弃这个菜,将不会进行 这个菜的用餐和支付; 7.等餐太久生气:当顾客点的所有菜都未按时上来时,顾客进入生气状态,顾客头像旁边出现心形按 钮,需要你去安抚顾客,顾客才会离开,否则顾客会一直待到当天结束时才会离开餐厅;顾客在这 种状态下不会进行支付;(等餐太久生气的简化需求:顾客进入生气状态后弹提示“XXX顾客没有 吃上任何东西,生气离开”,然后立即离开餐厅) 8.支付:当顾客完成用餐,会出现一个支付按钮,当你去点击支付按钮后,对顾客完成用餐的菜进行 支付,支付完成后,顾客离开餐厅;如果你一直未点击支付按钮,顾客会待一定时间(也可以是待 到餐厅结束)后自行支付后离开(支付简化需求:顾客完成用餐后,弹提示“XXX完成用餐,支付 XXX元”,然后立即支付离开餐厅) 9.离开餐厅:当顾客支付或是生气离开后,座位空出来。 厨师 厨师的行为: 1.空闲:空着 2.做菜:每个菜有个进度,凉菜和饮品的速度较快,主菜较慢;做菜需要成本,开始做菜时,会扣除 这个菜的成本,每个菜成本是独立的,成本由开发者自定; 做好菜:做好菜以后状态发生改变,等待你上菜,上完菜以后首先进入下一个状态(空闲或是做下 一个菜),如果做好菜一直没有上菜,等待一段时间后,这个菜作废掉,厨师进入下一个状态(空 闲或是做下一个菜);如果做的菜因为时间过长,已经没有顾客需要,则直接复用上一个等待上菜 的逻辑;(做好菜的简化需求:每个菜都是绑定顾客,做好了自动上给顾客,无需有上菜的交互操 作;这种时候,如果做好的菜顾客已经不要,可以是在顾客不要时就自动停止做该菜,或是做好菜 以后菜自动作废) 你 你的行为包括: 1.招聘厨师:在界面中点击招聘厨师按钮,并进行二次确认,厨师最多6名; 2.解雇厨师:在界面中解雇空闲的厨师,并进行二次确认,厨师最少一名; 招聘和解雇的简化需求:(以上两个需求也可以简化成为固定厨师数量,不可招聘也不可解雇); 安排厨师做菜:界面上无操作,实现一个逻辑,当顾客点完菜后,安排厨师做菜; 3.加速厨师(可选):当厨师做菜时,点击厨师头像能加速做菜进度; 引导顾客入座:当餐厅有空位时,点击等候区的顾客,可以引导顾客从等侯区进入座位进行点餐; (引导顾客入座的简化需求:当餐厅有空位时,自动让等候区第一位顾客入座,无需点击操作) 上菜:当厨师做好一个菜时,如果有顾客点了这个菜,则在这个菜旁边出现上菜按钮,点击后给这 个顾客上菜;如果超过一定时间没有上菜,则这个菜作废;(上菜的简化需求:厨师每做一个菜都 是定好顾客的,不需要你做上菜的动作,菜做好了自动上菜) 4.收费:当顾客完成用餐后,在顾客头像旁出现金钱按钮,点击完成收费行为,其他逻辑与顾客角色 中的描述相同;(收费的简化需求:当顾客完成用餐后,自动收费,不需要你点击) 安抚顾客:顾客因为所有菜等候时间都超时而进入生气状态后,会出现一个心形按钮,你点击按钮 后,顾客会离开餐厅;(安抚顾客简化需求:顾客直接走掉,不需要你做什么) 其他要求 上面描述的需求仅作为参考,实际设计时可略有不同 以面向对象的思路进行设计 注意代码风格的整齐、优雅 代码中含有必要的注释 只能使用附件中提供的图片资源,其他样式均使用 CSS 实现;如果有额外自己添加的需求场景, 可以自行按需增加其他图片资源 兼容性满足Chrome下的移动调试窗口 团队协作建议 团队内进行头脑风暴,共同讨论和设计 分工时可以按以下模块切分 “顾客”角色功能模块 “你”角色功能模块 “厨师”角色功能模块及其他 使用Git工具管理代码及团队协作 最终提交的代码需经过团队全体成员的review 附录:参考设计思路 类的设计 餐厅类 属性:金额数、座位数、厨师数、... 方法:招聘厨师、解雇厨师、... 顾客类 行为:点菜、吃、... 菜品类 属性:菜名、成本、价格、烹饪时间、用餐时间、... ... ... 动作 + 时间情形的设计