zl程序教程

您现在的位置是:首页 >  其它

当前栏目

【如何实现王者荣耀排名】

实现 如何 排名 荣耀 王者
2023-09-27 14:29:25 时间

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

img

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝

✨✨ 欢迎订阅本专栏 ✨✨

1.简介

因为平时喜欢玩王者荣耀,在看到排名的时候,稍微观察一下,可以发现,是先按星数排名,再按等级排名,最后星数和等级相同的情况下,当前查询人排在第一位,作为程序员的我,对这个排序比较好奇,如何实现这样的需求呢?感觉还是蛮有意思的,因为在工作中,确实没遇到过这种需求的排序,想试下

王者荣耀排名是指在王者荣耀游戏中,玩家根据自己的胜率、积分和胜场数等因素被分配到不同的段位和排名,以展示其在游戏中的竞技水平和成绩。排名越高,代表玩家在游戏中的实力越强。

王者荣耀排名分为青铜、白银、黄金、铂金、钻石、星耀、王者七个段位,每个段位又分为五个小段,玩家需要通过不断的比赛胜利来提升自己的段位和排名。同时,每个赛季结束后,玩家的排名和段位都会根据赛季结算规则进行重置,需要重新通过排位赛来重新评定自己的排名。

在王者荣耀排位赛中,玩家需要组成一支五人战队,与其他五人战队进行对抗,通过摧毁对方的水晶或者击杀对方的英雄来获得胜利。胜利后可以获得一定的积分和经验值,失败则会失去积分和经验值。通过不断地比赛和提升段位,玩家可以逐步提高自己的排名和段位,成为更高水平的玩家。

在排位赛中,每个玩家的排名和段位都会对匹配的对手和战队造成影响。通常情况下,系统会尽可能匹配同一段位的玩家进行对战,以保证公平性和竞技性。此外,排位赛中还有荣誉值、信誉值等系统,通过良好的游戏行为和团队合作来提升自己的荣誉值和信誉值,从而获得更好的游戏体验和更高的排名。

2.建表

SHOW TABLES;
--  建表  带注释+创建时间
DROP TABLE IF EXISTS `kwan_user_stars`;

--   新建表
CREATE TABLE `kwan_user_stars`
(
    `id`         int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `user_id`    int(11) DEFAULT NULL COMMENT '用户id',
    `user_star`  int(11) DEFAULT NULL COMMENT '用户星数',
    `user_grade` int(11) DEFAULT NULL COMMENT '用户等级',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

SELECT *
FROM kwan_user_stars;

3.插入数据

-- 查询数据
SELECT *
FROM kwan_user_stars
ORDER BY user_star DESC;


INSERT INTO kwan_user_stars (user_id, user_star, user_grade)
VALUES (1, 2, 30)
     , (3, 5, 30)
     , (5, 5, 29)
     , (7, 5, 30)
     , (2, 8, 30)
;

image-20230402111657127

4.执行 sql

SELECT *
FROM kwan_user_stars
ORDER BY user_star DESC
       , user_grade DESC
       , CASE WHEN user_id = 7 THEN 1 ELSE 0 END DESC
;

5.结果验证

  • 先按星数排序
  • 再按等级排序
  • 如果星数和等级都相同,则当前查询人排在第一位

image-20230402111743712

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
img