【问题标题】:Suggestions for opening the Rails toolbox to design a challenge game?关于打开 Rails 工具箱来设计挑战游戏的建议?
【发布时间】:2011-02-24 14:38:35
【问题描述】:

您如何建议将挑战系统设计为吃食游戏的一部分,以使其尽可能自动化?您可以使用所有 RoR 工具、设计模式和逻辑(例如,管理控制台、crontab、arch 等)。奖励给能够提出最简单和最自动化设计的人!

以下是要求:

  1. 用户面临许多挑战。

  2. 徽章有很多挑战。 (每次赢得挑战都会获得一个独特的徽章。)

  3. 一次只能运行一个挑战。

  4. 每个挑战的运行天数有限。例如,一个挑战可以运行 3 天,而另一个挑战可以运行 7 天。

  5. 挑战可能是季节性的。例如,“吃 13 个南瓜”只在秋季播出。

  6. 新的挑战不断添加到游戏中。例如,每周都有一个新挑战。

  7. 每个挑战都有一定的被选中运行的概率。例如,“吃 10 个馅饼”挑战有 10% 的机会被选中运行。

  8. 随着每个新挑战被添加到数据库中,我希望运行的概率动态变化。例如,我想避免手动更新数据库字段以将概率从 10% 更改为 5% 的情况。

  9. 挑战就像复活节彩蛋。在网页的不同位置弹出挑战图标。

  10. 成功完成挑战的用户会获得一个徽章,但仅限于它处于活动状态时。

  11. 每个挑战之间都有一些等待时间。在 1 到 7 天之间。哪个等待时间是随机的,但是等待时间短的概率高,等待时间长的概率低。

【问题讨论】:

  • 奖品是你的答案被接受了!

标签: ruby-on-rails design-patterns database-design architecture


【解决方案1】:

这是一个大问题。

  1. 使用Rails作为后端,为前端javascript渲染json数据以显示挑战图标弹窗

  2. 您的数据库架构似乎已关闭。没那么复杂。

  3. 每次发起挑战时动态计算挑战概率(也可以进行随机排序,因为您似乎每次都想要一个随机挑战)

  4. 每个挑战都维护一个文本属性,用于存储其季节限制

  5. 确保每人一次只能完成一项挑战的数据库限制

  6. 如果数据库架构设置正确,可以通过 Challenge.create 调用简单地添加挑战。游戏的其余部分将自动进行。

【讨论】:

    猜你喜欢
    • 2021-04-26
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2010-09-06
    • 2020-08-09
    • 2017-05-18
    相关资源
    最近更新 更多