【发布时间】:2017-03-08 23:26:11
【问题描述】:
我已经检查了显示的关于我的标题的大部分问题,但它们与我正在寻找的内容无关,所以我开始我自己的问题。
我正在尝试将其重新创建为在线游戏的游戏名为Buraco,不确定你们是否知道大多数人或任何人。
我已经具备了我的游戏的基本功能,例如:
- 洗牌
- 分发卡片
我现在陷入困境的是我应该如何处理分配给玩家 A、B、C、D 的牌、留在牌组上的牌、垃圾箱上的牌以及将在如果由 4 名玩家参与,则由两队参与;如果由 2 名玩家参与,则由每名玩家参与。
考虑到我不希望任何玩家在游戏中作弊,我必须将每张分配的卡片保存在数据库中,所以我在想我应该如何创建我的 MySQL 表来适应这个?
我想到的第一件事是创建一个表格,其中包含游戏会话和所有卡片作为一列,但嘿一共有 104 张卡片 ???可能还有很多其他更好的方法来实现这一点。
然后我想到我可以使用 varchar 或 text 来保存所有给定的卡片,这会使得验证每张已经递出的卡片变得有点困难,仍然在甲板上或在垃圾上或在表。
所以我想我的问题是:
考虑到它是多人游戏(用户创建一个房间来为 2 或 4 名玩家服务),我对这款游戏的最佳选择是什么数据库?
您将如何使用表来使用 MySQL 或任何其他数据库维护每个游戏?
您将如何处理更新(如您所见,我将使用 ajax 来更新游戏,是否有任何最佳实践来说明我应该限制每个数据的频率或多少数据或哪种数据?更新,因为它将更新房间中的所有用户,并且很可能不会全部一起作为 1 个请求,这将是对服务器使用影响的一个大问题)?
您会如何根据您喜欢使用的数据库结构比较卡片(查询示例)?
PS:如果您对此主题有更好的标题,请告诉我这是我当时想到的。
【问题讨论】:
-
您将来可能会考虑将您的查询分解为单独的问题(因为您已经在问题文本中进行了描述!)。尽管它们(在您的情况下)都与单个任务相关,但整个社区从这些机制中受益更多 - 其他项目将从了解如何设计成员表方案或优化来自 web ui 的 ajax 交互中受益。这可能会提高对您问题的响应率(和兴趣)。
-
我会牢记这一点,我也相信这可能会导致社区其他人提供更好的意见,谢谢。
标签: mysql database-design logic