猫史档案馆


【教程】教你在自己的kitten里面使用自制排行榜(非官方私云排行榜)

用户:小鱼yuzifu小鱼yuzifu查看:70 回复:107 评论:70 创建时间:2021-07-30T15:10:59


| Hi,everyone.小鱼又回来啦!!!快快欢迎!

开始教程前先放上两张对比图

center_image

论美观程度和与自身UI适应程度来说的话,哪个更好看点?第二个!

 

再来一个!

center_image

论从小到大来排序来说的话,哪个更直观方便点第二个!

 

你甚至可以在结算页面显示你的排名和在你前后两人的成绩!

center_image

 

怎么样?是不是技术力超高!(屑玩意技术超低)其实我这种自制排行榜基本大部分人可以轻松看懂,尤其对于一些萌新。用上后自己的作品质量将会更上一层楼!

 

所以现在让我们开始自制排行榜的制作教程吧!(这期教程我们将使用云列表制作

 

先让我们构思下,一个排行榜在显示排名时将要经历哪些流程?

center_image

大概就这些(可能有部分错误,可指出),那我的排行榜运行大概也就是这种模式。

准备:一个云列表(存放所有人数据),一个私有云变量(用于同步个人数据和个人排行榜数据),n个列表(用于处理从云列表上下来的数据,并在里面生成最终的排行榜排名),m个变量(用于辅助列表进行排序),一个角色(废话!)

 

在我的自制排行榜内这种流程大概分5步(初始化列表——>从云列表喵解数据存放到两个列表——>删除列表内重复数据——>对剩下的列表数据排序——>打印列表内最终数据),概括为删除、分解、防重复、排序、打印

 

1.删除

删除在这就是初始化的意思,因为云列表的数据会变,所以更新数据时会不初始化会导致严重的数据重复,甚至程序崩溃!

这里删除的都是我们等会要用到的列表,大家可以按着图上来看看要创建哪些列表

center_image

2. 分解

这个分解相信大家也知道该怎么分解,就是重复执行云列表的长度,运用两个变量,一个遍历云列表的每一项,另一个从后往前遍历每一项中的特殊符号的位置(特殊符号是分隔用户名和成绩的一个符号,想用什么都行,但要保持所有列表中特殊符号一致)并将名字和分数拆解到两个不同的列表方便后续调用。

center_image

3. 防重复

于网络问题,数据在上传时可能会重复上传(原因:云列表数据未初始化完全,导致程序以为个人数据不存在,从而重复上传),从而导致在打印时会出现两个相同的用户名占了两个排名。

这肯定是不能存在的,所以这里将名字列表里相同的名字删除至一个,分数列表中相同位置的数据同时删除,再进行下一步处理

center_image

4. 排序

排序可以说是积木用的最多的(不算上打印),这里使用的方法是重复执行分数列表的长度,一遍遍获取当前分数列表中最大或最小的分值,轮完一遍后将最终数值放入另一个列表(这里叫重排序分数)末尾,对应名字也放入另一个列表(这里叫重排序名字),重复下来最终你会获得一个排好序的两个列表(这里事实上已经可以当一个排行榜使用了)(两个储存列表到后面是有用的)

center_image

ps:这里下面有小鱼曾经使用的排序方式,可以看看下面的跟上面的劣势是什么(推荐用上面那个)

center_image

5. 打印

wow,恭喜你已经制作好了一个排行榜!现在我们来看看可以调用的方式吧!

center_image

加上这个可以获取自己的排名和数据(name指自己的用户名)

center_image

用这个可以实现显示你的排名和在你前后两人的成绩

center_image

实际上调用数据的方法还有很多,这里只是列举了几种,因为现在排行榜的所有数据都在你的手上,所以你想怎么调用就怎么调用!

 

在云列表添加/修改数据

虽说前文讲了制作自制排行榜,但是云列表才是重中之重!所以想实现真正的数据操作还是要到云列表里操作。

运用这串积木则行(name为用户名,得分为最高分)center_image

其中修改是替换那串,添加时添加那串(实在不会用可以只用添加。。。到。。。第一项的)

建议刚开始游戏就用如果判断是否添加“添加”那串,打破最高分时用替换那串(注:只有中间的判断可改,其它一个也不要动)

 

好了,自制排行榜也写好了。希望对一些人的作品创作有一些帮助!

这里放上链接,也可以去看看:https://shequ.codemao.cn/work/92810220


回复

上一页1 页 / 共 4下一页
小鱼yuzifu小鱼yuzifu

沙发!

点赞0


评论


codewyxcodewyx

emotion_编程猫_点赞板凳

点赞0


评论


猴急啊猴急啊

顶,往喵里顶

点赞0


评论


小鱼yuzifu小鱼yuzifu

顶顶

点赞0


评论


ZaonaZaona

小鱼yyds

我有空出个公云变量版吧

优点是同步速度快

缺点就是最多只能排前25名(看排的人的名字长度)

 

点赞0


评论


ZaonaZaona

云列表做的话

优点是可以记录1000个人的数据排行

缺点就是速度肉眼可见的慢,同步的时候容易出问题(我做的时候是这样)

点赞9


评论


是真ikun是真ikun

np

点赞0


评论


Summer橘子喵Summer橘子喵

加油

牛牛!!

emotion_编程猫_点赞

点赞0


评论


DioSand_5006DioSand_5006

学废了

点赞0


评论


gjkgfhgjkgfh

真不戳呀

点赞0


评论


玄离小吃货_已退玄离小吃货_已退

小鱼牛+逼!!!!!!!![撕心裂肺]

点赞2


评论


玄离小吃货_已退玄离小吃货_已退

我来说说小鱼提问的优劣:新的1.新版的排行榜可以做到按照实际数值来排行,不会出现数值不清,乱排等现象。

旧的:1.旧的排行榜限定了数值,如果拿图片中的代码举例子,那么一旦超过了9999这个数,系统的判断就会出现失误【亲身经历好吧】,很容易就会造成大数在小数后面,甚至乱排,错排,并且如果是首富类的游戏,9999根本微乎其微,养成系哪个不是上亿的数值?

2.旧版的排行榜如果按部就班的把重复执行的次数改为比目前游戏【这里指大多数首富类游戏】中最高的数值还有多一点的数,啊,怎么说,运算时间可能比你吃饭时间还要长,而且会出现卡顿等情况【亲身经历好吧】!

 

总结:小鱼NB!

点赞1


评论


无段双云无段双云

emotion_编程猫_点赞小鱼yyds

点赞0


评论


火菊火菊

大佬,我不会,我也不配emotion_编程猫_搓头

点赞0


评论


DDguanDDguan

我来分析一下:

1 云列表真的让我说慢到肉眼可见

2 有意义么?就是好看

 

点赞0


评论


KvK丶KvK丶

ahhhh看不懂懒得看 反正很nb对吧 我要用的时候再来好了()

cId~

点赞0


评论


匹诺曹的鼻子匹诺曹的鼻子

其实就是大佬有肝,我们没有

emotion_编程猫_伤心

点赞3


评论


小鱼yuzifu小鱼yuzifu

https://shequ.cod喵/community/389198

nemo篇

点赞0


评论


SMOLLERSMOLLER

确实不错诶~对于我这个萌新来讲,其实牌行榜可以简化,把你的这么多代码简化一点点

点赞0


评论


YOF冇人GGYOF冇人GG

萌新致命帖,giao

点赞1


评论


天下第一皮卡丘天下第一皮卡丘

这东西不得不说,还是要点脑子的emotion_雷电猴_笑趴

但又不得不说,脑子没白用,这玩意超级牛emotion_雷电猴_笑趴

点赞1


评论


PaperFish纸鱼PaperFish纸鱼

小鱼yyds!

点赞0


评论


auaswiauaswi

哇偶,好棒棒(尝一口小鱼)真好吃.......啊不对,真香....也不对(再尝一口)还是烤的好.....喵!这帖子真好,可算说对了.....

小鱼真香(小声bb)

点赞0


评论


内涵本涵内涵本涵

真是“大佬懒得看,萌新看不懂

点赞4


评论


小鱼yuzifu小鱼yuzifu

冒)

点赞0


评论


特别周特别周

ddd

点赞0


评论


Summer橘子喵Summer橘子喵

ddd

点赞0


评论


小鱼yuzifu小鱼yuzifu

ddd

点赞1


评论


调皮的乔治调皮的乔治

顶顶

点赞0


评论


调皮的乔治调皮的乔治

放重复和排序没有调用

点赞0


评论