2

从数据设计大师那里寻找一些集体智慧......

我正在编写一个基于网络的游戏(本质上是一个网络应用程序)。游戏动态需要在授予/拒绝成就之前进行访问检查。

我的游戏需要精细控制谁/何时可以访问某些成就。这些成就要求各不相同,可能是以下任何一项的组合:

  • 用户必须查看某些内容(有一个存储此访问信息的表)
  • 用户必须等到访问被批准(例如,创建帐户后 2 周才能访问记录)
  • 用户必须响应事件(例如消息)
  • 用户必须回答过一个问题(例如游戏内投票)

但是我不能对这些进行硬编码,因为游戏允许为每个游戏大师创建自定义“宇宙”。因此,每个游戏大师都应该能够创建/更改在他/她的“宇宙”中授予成就的方式。

我在想出一个数据库设计来允许存储这些限制以获取成就记录时遇到了困难。有没有什么好的通用设计模式来存储这种信息?有什么有用的书籍、网站吗?

欢迎任何想法,建议。

PS。我已经尝试过 Google-ing,但返回的大多数点击都是关于如何控制对数据库的访问,而不是如何设计存储这些信息的表。

4

1 回答 1

0

你正在做的是建模状态。对状态建模的最常见方法是使用状态转换表。

            View something | Wait     | Respond | Answer
            ----------------------------------------
User 1        view action  |          | resp act|
User 2                     | wait act |         |
User 3                     |          |         | answer act

等等。

编辑添加:该表仅包含状态信息。您的代码必须知道如何设置状态表以及完成状态或状态组合时要执行的操作。

于 2012-11-27T17:47:23.440 回答