我想尝试在我正在构建的新网站上设计奖励系统。例如(仅用于说明目的):
堆栈溢出的奖牌系统是另一个例子。
我的问题是,您可以轻松地将每个徽章的描述和名称存储在数据库表中。
**tbl_Badges**
ID | Badge Name | canHaveMultiple | hasProgress | progressScale
----------------------------------------------------------------------------
1 Copy Editor Yes No null
2 The Mob Yes No null
3 Jquery No Yes 100
然后将用户与这些徽章相关联:
**tbl_UsersBadges**
ID | Badge ID | User ID
---------------------------
1 1 5
2 1 5
3 2 5
4 2 12
(也许还有另一个通过比例徽章等来存储用户进度)
但困难在于对奖励这些徽章的触发器进行编程。
像这样的系统是在网站中使用硬编码触发器构建的吗?由于这些徽章的广泛性和灵活性,这是我能想到的唯一方法。但是,如果触发器被硬编码为徽章 ID,则在更改任何内容时都必须非常小心。
那么这样的系统是这样工作的吗?这与我所学的背道而驰。还是我错误地解决了这个问题?