PHP-有什么想法可以改善我的徽章系统?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-有什么想法可以改善我的徽章系统?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1805字,纯文字阅读大概需要3分钟。
内容图文
我正在使用徽章系统,到目前为止,我已经有了这个主意:
创建一个UserMeta表来存储将在条件中使用的数据.
UserMeta
===========================
user_id | posted_comment_count | flagged_comment_count | reputation | etc.
我想知道这是否是个好主意,就好像我需要添加一些元数据用作标准一样,我需要添加一列,因此我认为在json中使用了序列化对象,例如.
另一个表称为Badge:
badge_id | badge_name | badge_criteria
徽章标准是json或任何其他序列化格式,其存储对象如:
{
'posted_comment_count': '>= 20',
'flagged_comment_count': '=10',
}
另一个用于将用户与徽章相关联的表(一个简单的关联表)
我正在使用Doctrine2,尽管我要使用Event更新UserMeta.
有任何意见,建议吗?
解决方法:
我的游戏化数据库非常简单.我有一个“货币”表,其中只有一个字段,即名称.我有一个“ UserCurrency”表,其中包含用户ID,他们所获得的货币ID以及他们所获得的整数.当然,我有一个用户表.
就是这样.
我使用的是Django,所以其中有些可能没有意义,但是基本上我有一个事件侦听器,用于侦听数据库中的事件.当用户执行任何操作都会导致数据库命中时,事件侦听器将滚动浏览一系列功能,每个功能均包含目标语言中用于授予徽章的简单标准.如果用户符合该条件,则将授予徽章. (“货币”可以是“帖子数”,“回复数”,甚至是“戳数”.请不要将其误认为是货币价值;这只是您要跟踪的内容的总和.
这是一种简单,完全可扩展的记账机制,用于保持得分,而不会因跟踪的特定事物的细节而使数据库的架构混乱.它完全独立于其他任何用户跟踪详细信息,例如个人资料.如果您想添加新的货币(要跟踪的新事物,并对其进行关联和奖励徽章),则将其名称添加到“货币”表中,并设置一组奖励方法,并在以下位置设置阈值规则用户会收到哪些确认,然后由您决定如何向用户显示该信息以及奖励的后果.
而且,规则可以相互关联.堆栈溢出非常好(非常!).例如,当您访问该网站时,“ Enthusiast”徽章的触发规则甚至不计算货币,而是计算访问天数.每次获得声誉时,如果得分超过200,则代码只会将货币计数器“传奇”更新1,并且当该货币达到150时,另一个触发器将授予您“传奇”徽章,依此类推.去耦和独立性是游戏化设计中的强大工具.
内容总结
以上是互联网集市为您收集整理的PHP-有什么想法可以改善我的徽章系统?全部内容,希望文章能够帮你解决PHP-有什么想法可以改善我的徽章系统?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。