当前位置: 代码迷 >> J2SE >> 关于一对一匹配的"天梯系统"的规则, 大家来帮小弟我优化一下吧.
  详细解决方案

关于一对一匹配的"天梯系统"的规则, 大家来帮小弟我优化一下吧.

热度:84   发布时间:2016-04-23 20:00:59.0
关于一对一匹配的"天梯系统"的规则, 大家来帮我优化一下吧...
本帖最后由 luxiaoleics 于 2014-12-30 21:16:53 编辑
天梯匹配系统, 只用一个积分来做匹配, 一对一匹配.
积分的规则就是策划定的公式, 这个跳过.
我的当前结构是这样的:
相同积分的玩家存到一个 list 里面. 然后将这个list用积分做key, 存在一个map里面.
当一个积分是 1000 的玩家查找对手的时候. 我会去map 里面把 800 到 1200 范围(这个范围是策划定)内的所有list取出来( 也就是这里我循环了400次!!) 然后从每个list 里面随机抽取几个玩家, 汇总到一个总的list里面. 最后从总的list里随机一个玩家(或者几个玩家先放到当前玩家的一个域里, 这样玩家再找的时候就直接从身上取, 而不再这么找一次)
这就是我目前写的天梯系统匹配... 感觉写的很烂.
大家能分享一下自己写的规则么... 求教
------解决思路----------------------
感觉量不是很大啊 
但是感觉你相同的积分应该比较密集  或者说你用Map的话 积分做Key  可能导致map里某些value的list贴别长 猜测系统整体符合正态分布    所以你中间端的value应该会比较大
所以你可以考虑再采用其他的key  而不单纯是一个积分
另外你从800-1200取值只是为了random数组 拼凑出来一个域 这个没必要取完list再做random  可以遍取编做random 最后取完了直接形成一个域返回
  相关解决方案