如何定义对战详情的数据结构

最近在思考定义对战详情的结构(因为自己做了一个很垃圾的结构,想重构,所以一直在思考这个问题)。

类似LPL对战这种:

先说说策划要求吧。

我们游戏中要显示对战结构的是打十六进四,十六个队进行对战,分为两个组分开打。1-4队比赛如图,其他三个比赛结构类似。

然后我的做法是将16个队的数据存下来,然后分为两组,然后显示1-16的数据,如果打了第一轮,也就是16进8之后,又把8个队的数据存下来,分为两组,最后打了第二轮之后,也就是8进4之后,又把4队的数据存下来,分为两组。总结起来就是将16强、8强、4强的数据存在一个列表里面,使用的时候需要在列表里面查找。结构类似下图:

这样的问题是,非常非常麻烦。16强的数据还好,8强之后,就需要手动计算,该把这个对的数据放在哪个位置。并且之后策划提了一个优化,比赛之后增加胜利失败的表现(胜利高亮,失败置灰,未分胜负颜色不变)。16强显示这个的时候也需要到8强的数据里面去查找计算。

之后我就在考虑要不要重新写一个结构来处理这个问题呢。然后就有了下边的想法。

拿到16强的数据之后将他分为4组,每组四个队。把完整打完比赛当做一个结构存下来,有数据就往里面添加。相当于分出四个如图的结构:

想这样会简单些。比如说判断第一轮谁输谁赢,可以在FirstWinGroupList里面查找,因为这里面只有这几个队的信息。但是还没有重构,不知道这样的结构具体怎么样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值