c# - 举办锦标赛,如何存储所有玩家分数
问题描述
我希望在我的应用中添加锦标赛,其中:
- 比赛持续 24 小时
- 玩家可以继续玩并存储他们的最高分
- 当比赛结束时,我想告诉玩家他们在所有参赛选手中的排名。
玩家将在他们的移动设备上与自己在一个简单的游戏中竞争,但排行榜将是全球性的。
我在哪里可以存储比赛期间的球员得分并在比赛结束后访问它们?
解决方案
有几种方法可以解决这个问题,24 小时重置可能会让事情变得有点复杂:
1.可能最简单的一种是通过 Unity 的社交 API 使用平台特定的游戏功能。这里有一些关于此的文档:https ://docs.unity3d.com/Manual/net-SocialAPI.html 这允许您在 iOS 或 Google Play 游戏上使用例如 GameCenter
- [+] 易于实施
- [+] 免费
- [-] 您可能无法访问每个平台特定的功能
- [-] 通常不跨平台
2.自己实现平台特定的游戏功能。使用此解决方案,您绝对可以访问所有平台特定功能。
- [+] 免费
- [-] 通常不跨平台
3.使用一些第 3 方跨平台排行榜服务,我相信一个简单的搜索会产生其中的一些,很可能还有 Unity 插件。
- [+] 应该易于实施
- [-] 可能不是免费的
- [-] 功能可能会受到限制
4.自己做。您可以编写一个简单的 Web API 连接到某个数据库并将其部署到云提供商。这很复杂,因为您突然有另一件事要开发、保护和维护……再加上托管费用。但由于它是您的设计,它可以做任何您想做的事情——例如,您的 24 小时锦标赛功能可能就是其中之一。
- [+] 可以做任何事
- [-] 不能免费托管
- [-] 你必须编写/维护你自己的
我认为您可以摆脱例如为每天创建一个单独命名的排行榜作为每天重置排行榜的一种方法,但您必须研究所有平台的特定功能。
推荐阅读
- linq-to-sql - 根据产品类别编写每个销售员的总销售额的 LINQ 查询
- stored-procedures - PL/SQL 中的 BRC 是什么意思
- python - Discord.py Bot 不播放音乐
- c - 如何检查符号链接的路径,但不是检查它所指示的内容,而是检查链接本身。在 C
- hdl - 与非门在这个 HDL 中不能正常工作?
- laravel - 使用已调度事件和触发 div 的数据
- jenkins - 只允许在一台机器上完成一项工作
- sql - SELECT SQL 查询将根据时间返回最新值,分组为一行
- c++ - 从一组特征创建模板包
- python - 刮掉嵌入在.php页面中的PDF