gpt4 book ai didi

mysql - 多种游戏变体的数据库设计

转载 作者:行者123 更新时间:2023-11-29 00:55:49 24 4
gpt4 key购买 nike

希望这些表的目的是显而易见的,但为了以防万一,这里有一个简单的解释:我基本上希望存储比赛的结果(8 球池等),但也逐帧记录结果。我遇到的问题是,随着我的应用程序的增长,我打算允许使用不同的游戏类型,因此,每个帧中使用的评分系统会有所不同。我认为下面的解决方案可行,但对我来说似乎不太正确,欢迎所有建议。

有没有比使用下表更明智的方法:

# 玩家

  • 编号
  • 姓名
  • 昵称

# 正常匹配

  • 编号
  • 玩家A
  • 玩家B

# 法线帧

  • 编号
  • 匹配ID
  • playerAWon ( bool )

# ScoringPoolMatches

  • 编号
  • 玩家A
  • 玩家B

# ScoringPoolFrames

  • 编号
  • 匹配编号
  • playerA_cue_ball_potted
  • playerB_cue_ball_potted
  • playerA_balls_potted
  • playerB_balls_potted
  • playerA_balls_remaining
  • playerB_balls_remaining

(编辑:更改了 ScoringPoolFrame 表以更好地了解问题所在。)

非常感谢。

最佳答案

我不确定你的普通比赛表和你的计分池比赛有什么不同......我会设置一些不同的东西,一张 table 对一场比赛的最终输赢结果进行评分,一张 table 对所有游戏/帧进行评分。 (*表示主键字段)

玩家

  • 身份证号 *
  • 姓名
  • 昵称

匹配

  • 身份证号 *
  • 玩家A
  • 玩家B
  • winning_player_id

游戏

  • 匹配 ID *
  • 游戏编号 *
  • 玩家编号
  • 得分

game_id 可以是保龄球中的帧号,网球中的固定号码,或棒球中的局数

你甚至可能想将匹配表展平成这样:

匹配

  • 匹配 ID *
  • player_id *
  • 获胜者( bool 值)

这样您就可以选择某个球员的所有比赛,而无需搜索两列。这样一来,您也可以在一个游戏中拥有两个以上的玩家。

关于mysql - 多种游戏变体的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6209587/

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