您如何建议将挑战系统设计为食品饮食游戏的一部分,以便尽可能实现自动化?您可以使用所有RoR工具,设计模式和逻辑(例如,管理控制台,crontab,拱形等)。无论谁能提出最简单,最自动化的设计,都能获得奖品!
以下是要求:
用户面临许多挑战。
徽章有很多挑战。 (每次挑战都会获得一个独特的徽章。)
一次只能运行一项挑战。
每次挑战的运行天数都有限。例如,一个挑战可以运行3天,而另一个运行7天。
挑战可能是季节性的。例如,“吃13个南瓜”只在秋季运行。
持续不断地为游戏添加新的挑战。例如,每周都有新的挑战。
每个挑战都有一定的概率被选中运行。例如,“吃10个馅饼”挑战有10%被选中的机会。
随着每个新挑战被添加到数据库中,我希望运行的概率能够动态变化。我想避免手动更新数据库字段的情况,例如将概率从10%更改为5%。
挑战就像复活节彩蛋一样。挑战图标弹出在网页上的不同位置。
用户获得成功完成挑战的徽章,但仅限于激活时。
每次挑战之间都有一些等待时间。 1至7天。哪个等待时间是随机的,但是等待时间短的概率很高,而且等待时间长的概率很低。
答案 0 :(得分:3)
这是一个很大的问题。
使用Rails作为后端,为前端javascript渲染json数据以显示挑战图标弹出窗口
您似乎已关闭数据库架构。它并不复杂。
每次启动挑战时动态计算挑战概率(只需进行随机排序,因为您似乎每次只需要随机挑战)
每个挑战都维护一个文本属性,用于存储其在季节中的限制
确保每人每次只有一次挑战的数据库限制
如果数据库架构设置正确,可以使用Challenge.create调用添加挑战。游戏的其余部分将自动化。