【发布时间】:2011-02-24 14:38:35
【问题描述】:
您如何建议将挑战系统设计为吃食游戏的一部分,以使其尽可能自动化?您可以使用所有 RoR 工具、设计模式和逻辑(例如,管理控制台、crontab、arch 等)。奖励给能够提出最简单和最自动化设计的人!
以下是要求:
用户面临许多挑战。
徽章有很多挑战。 (每次赢得挑战都会获得一个独特的徽章。)
一次只能运行一个挑战。
每个挑战的运行天数有限。例如,一个挑战可以运行 3 天,而另一个挑战可以运行 7 天。
挑战可能是季节性的。例如,“吃 13 个南瓜”只在秋季播出。
新的挑战不断添加到游戏中。例如,每周都有一个新挑战。
每个挑战都有一定的被选中运行的概率。例如,“吃 10 个馅饼”挑战有 10% 的机会被选中运行。
随着每个新挑战被添加到数据库中,我希望运行的概率动态变化。例如,我想避免手动更新数据库字段以将概率从 10% 更改为 5% 的情况。
挑战就像复活节彩蛋。在网页的不同位置弹出挑战图标。
成功完成挑战的用户会获得一个徽章,但仅限于它处于活动状态时。
每个挑战之间都有一些等待时间。在 1 到 7 天之间。哪个等待时间是随机的,但是等待时间短的概率高,等待时间长的概率低。
【问题讨论】:
-
奖品是你的答案被接受了!
标签: ruby-on-rails design-patterns database-design architecture