类似知乎的头脑王者,匹配架构是如何设计的?

每个人点不同的段位(总共14个段位)开始游戏进行匹配,从中选出二个人进行答题pk,这个算法如何设计?

假设我点击开始游戏后,将我申请进入一局游戏的请求发送给服务器,就进入等待环节,服务器在可以组成一个房间后,向该房间成员发出通知。满足要求的人数不够等无法组成房间时,就等待。玩家等不及了,可退出等待环节。

要求:
1,一天内,同一个人不会匹配二次(防止个人作弊)
2,优先匹配同一段位的,同一段位匹配不到可以匹配上下相邻的段位,依次延伸
3,最高段位14只能匹配14, 13,12号玩家
4,10秒匹配不到,退出匹配,提示匹配失败

阅读 5.3k
1 个回答

不同段位各组成一个队列,每次进来取出两个人,满足条件就对战;队列为空,从相邻队列里面去取;系统定时清理没有匹配到的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题