热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

做游戏排名遇到的数字题

现再做一个排名相关的小游戏,其中排名准备用rediszset来实现,其中排序值是得分和秒数,得分高排名靠前,当得分相同时,秒数少,排名靠前,能不能将这种结构总结出来一个数值Y来代表,同时得分和分数都是累加的!
现再做一个排名相关的小游戏,其中排名准备用redis zset来实现,其中排序值是得分和秒数,得分高排名靠前,当得分相同时,秒数少,排名靠前,能不能 将这种结构总结出来一个数值Y来代表,同时得分和分数都是累加的!

回复内容:

现再做一个排名相关的小游戏,其中排名准备用redis zset来实现,其中排序值是得分和秒数,得分高排名靠前,当得分相同时,秒数少,排名靠前,能不能 将这种结构总结出来一个数值Y来代表,同时得分和分数都是累加的!

假如排在前面的分数所花秒数有个最大值,比如一般都在 100s 以内,那么完全可以用位运算的方法,留低 8 位给秒,剩下高位给游戏分数,由此算出 zset 需要的 score。

即:

score = (game_score <<8) | (time & 0xFF)

能不能这样做取决于你的业务,总之差不多就是这样的思路了。

推荐阅读
author-avatar
ttarm_33218389
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有