每个人点不同的段位(总共14个段位)开始游戏进行匹配,从中选出二个人进行答题pk,这个算法如何设计?
假设我点击开始游戏后,将我申请进入一局游戏的请求发送给服务器,就进入等待环节,服务器在可以组成一个房间后,向该房间成员发出通知。满足要求的人数不够等无法组成房间时,就等待。玩家等不及了,可退出等待环节。
要求:
1,一天内,同一个人不会匹配二次(防止个人作弊)
2,优先匹配同一段位的,同一段位匹配不到可以匹配上下相邻的段位,依次延伸
3,最高段位14只能匹配14, 13,12号玩家
4,10秒匹配不到,退出匹配,提示匹配失败
不同段位各组成一个队列,每次进来取出两个人,满足条件就对战;队列为空,从相邻队列里面去取;系统定时清理没有匹配到的