Merge branch 'master_prb_gn' into master_test_gn

back_recharge
xuexinpeng 2021-11-08 16:59:44 +08:00
commit 1cb588960f
2 changed files with 26 additions and 6 deletions

View File

@ -178,14 +178,28 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler<ArenaInfoProto.
}
//+新增表格内修正分数
int ackRandId = SMServerRankConfig.getIdByScore(ackScores);
if (SMServerRankConfig.serverRankConfig.containsKey(ackRandId)) {
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(ackRandId);
winerGetScore += serverRankConfig.getLimitScore();
}
int defRandId = SMServerRankConfig.getIdByScore(defScores);
if (SMServerRankConfig.serverRankConfig.containsKey(ackRandId)) {
if(winCount>=2){
//攻击方赢了
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(ackRandId);
winerGetScore += serverRankConfig.getLimitScore();
}else{
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(defRandId);
winerGetScore += serverRankConfig.getLimitScore();
}
}
if (SMServerRankConfig.serverRankConfig.containsKey(defRandId)) {
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(defRandId);
loserGetScore += serverRankConfig.getLimitScore();
if(winCount<2){
//被攻击方输了
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(defRandId);
loserGetScore += serverRankConfig.getLimitScore();
}else{
SMServerRankConfig serverRankConfig = SMServerRankConfig.serverRankConfig.get(ackRandId);
loserGetScore += serverRankConfig.getLimitScore();
}
}
//范围修正2
if(winerGetScore>setting.getScoreRange()[1]){ //35

View File

@ -212,21 +212,26 @@ public class CrossYuxulundaoLogic {
SMServerRankConfig con = robotConfigMap.get(SMServerRankConfig.getIdByScore(myQuery.getCrossYuxulundaoNewScore()));
Set<ZSetOperations.TypedTuple<String>> matchRival= RedisUtil.getInstence().getZsetRangeWithScores(RedisKey.CROSS_YUXULUNDAO_RANK_PERSON,
Integer.toString(crossGroup),con.getScoreLow1(),con.getScoreUp1());
LOGGER.info("xuexinpeng crossGroup:"+crossGroup+"scoreLow1:"+con.getScoreLow1()+"scoreUp1:"+con.getScoreUp1());
matchRival = matchRival.stream().filter(n->Integer.valueOf(n.getValue())!=user.getId()).collect(Collectors.toSet());
LOGGER.info("xxp:size:" + arenaRank.size());
if(matchRival.size() >0){
if(matchRival.size()<5){
//需要填充机器人
matchRival.forEach(n->{ arenaRank.add(Integer.valueOf(n.getValue())); });
arenaRank.addAll(SArenaRobotConfig.getSArenaRobotConfigsByRangeAndCount(con.getScoreLow1(),con.getScoreUp1(),5 - matchRival.size()));
LOGGER.info("xxp1:size:" + arenaRank.size());
}else{
//随机出五个真人
List<String> matchRivalList = new ArrayList<String>();
matchRival.forEach(n->{matchRivalList.add(n.getValue());});
Collections.shuffle(matchRivalList);
matchRivalList.subList(0,5).forEach(n->arenaRank.add(Integer.valueOf(n)));
LOGGER.info("xxp2:size:" + arenaRank.size());
}
}else{
arenaRank.addAll(SArenaRobotConfig.getSArenaRobotConfigsByRangeAndCount(con.getScoreLow1(),con.getScoreUp1(),5));
LOGGER.info("xxp3:size:" + arenaRank.size());
}
//没有高分段机器人 从相近的里面取机器人
if(arenaRank.size() == 0){
@ -237,6 +242,7 @@ public class CrossYuxulundaoLogic {
break;
}
}
LOGGER.info("xxp4:size:" + arenaRank.size());
}
arenaRank.forEach(n -> {
if (n > 1000) {