gpt4 book ai didi

c++ - 为成就系统设计MySQL表

转载 作者:行者123 更新时间:2023-11-28 07:57:53 25 4
gpt4 key购买 nike

我正在为成就系统创建一个数据库(就像您在暴雪游戏中看到的那样)。我想要一个 GUI 来显示游戏中所有成就的当前进度,这意味着我需要为用户查询所有成就的进度才能填充 GUI。我计划获得大约 100 个成就。

这带来了一个设计问题。 设计数据库和查询代码以查询 ~100 位字段的进度的最佳方法是什么?

似乎蛮力方法是获取整行成就,然后对行中的每个字段进行一些硬编码字符串比较以确定我们正在处理的成就。

另一种可能的解决方案可能是基于表的列索引有一个大的 switch 语句,并针对每种情况处理每个成就(要求不修改表,否则您必须重构大量 C++ 代码)。

我很想知道你们对此有何其他设计。谢谢!

最佳答案

我建议使用 3 个表构建解决方案。这些表是 users、achievements 和 user_achievements。用户将在用户表中用 u_id 标识。成就将在成就表中用 a_id 标识。然后,您可以通过在 user_achievements 表中插入一行来跟踪用户的成就,该行包括一个 u_id 来标识用户和一个 a_id 来标识成就。 user_achievements 表还将包含一个列,用于指定给定用户完成该成就的百分比。

关于c++ - 为成就系统设计MySQL表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com