Skip to content

QQ炫舞手游工具箱,可以计算爆点、伸缩谱面等

Notifications You must be signed in to change notification settings

X5DIY/QQX5Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QQ炫舞手游工具箱

本工具由萌泪编写,提供爆点计算、谱面伸缩等诸多实用功能。

历史背景

QQ炫舞手游出现后,排位玩家的最爱自然是精准的爆气表。 当时爆点都是大家手测的,歌曲有多,真的是耗时耗力还不准。

之后的某一天,朋友可达鸭问我,这个能不能机算而不是手测? 确实,作为一个程序猿,完全可以自己写一个程序来计算爆点! 那我为什么没想到呢?因为这是我尝试写的第一个java程序。 从这个程序我才理解了什么是面向对象,什么是面向过程。

当时官方将xml谱面文件压缩为xml.bytes格式,bytes文件再次压缩后放在安装包内。 经过不断研究,我找到了xml.bytes,并根据 QQX5FireTableGenerator 项目认识到bytes文件的本质,经过研究后成功写出了各个模式的转换方法。 通过这样的方式,我成功获取了排位歌曲谱面,剩下就是简单的计算爆点的算法了。 于是2019下半年,经过不断优化, qqx5-console 出炉了。 这是一个纯控制台程序,没有任何UI。

然而,天有不测风云,官方很快修上了这个漏洞,apk中再也没有与谱面相关的文件了。 没了谱面文件就没法机算爆点,萌泪爆气表也随之停更。

我猜测现在的谱面文件是即时下载的,所以如果您是对网络通信研究比较深刻的大佬, 希望能告知获取谱面文件的方式。联系方式:QQ605738729。

虽然爆气表无了,但爆点的算法依然会分享给任何想学习了解的人。 qqx5-console的计算结构略有混乱,包、类的划分也不尽如意,在这个程序中将会重写。 除此之外,自制谱有时会遇到需要更改bpm的情况,相关内容同样会写到本程序中。

我在刚接触图形界面时还没看到wpf,也没用过c#。 考虑到jfx画ui可以直接用写过的后端逻辑,所以决定第一个UI项目就是用jfx给qqx5-console增加图形界面。 那个项目也曾传到GitHub上,不过在发布本项目的时候,我就把它就删除了。 因为本项目的定位就是那个项目的优化版本,但是整体架构有很大区别,所以用了新的仓库。

尽管JavaFx有些小众,但我会完成它的。

运行相关

运行环境

JDK17,JavaFx17

本项目使用Maven配置JavaFx,并且使用模块化。

如何运行

使用maven指令中的javafx:run运行程序。

如何打包

说实话,我也不会。

JDK8之后的版本都难以直接用idea打包,即使用插件也是很复杂的方法。

对本项目而言,打包并非重点。

相关术语

爆气长度

爆气分为押爆和非押爆。 /**

  • 父类应在最大限度上,抽取出本质上共同的部分,比如按键分数。
  • 但是,分数还是有细微的误差。
  • 为此,我引入了 {@code mode},并重写 {@code getScore} 方法,避免了误差。
  • 用 {@link SetBasicInfo} 录入信息时,就已经得到了模式值。
  • 通过模式值来选择不同的方法,以达到正确录入信息的目的。
  • 同时,也会生成爆点描述。
  • 这样的话,在 {@code XMLInfo} 类中,只需直接调用这些信息。
  • -- 非押爆单排 --
  • 19.5拍爆气时长
  • 爆气开始或爆气结束的长条键都视作在爆气范围内
  • -- 押爆单排 --
  • 20拍爆气时长
  • 爆气开始的长条键而言,长条开头视作在爆气范围内,非长条开头视作在爆气范围外
  • 爆气结束的长条键都视作在爆气范围内
  • -- 超极限爆气 --
  • 20拍(无cool爆)至 21拍(有cool爆)爆气时长
  • 爆气开始或爆气结束的长条键都视作在爆气范围内
  • 技能为爆气时,爆气范围前后的单点也视作在爆气范围内,按照 cool 判计算
  • -- 非押爆双排 --
  • 38.5拍(存气状态)或 39拍(分开状态)爆气时长
  • 以非押爆单排数据为基础进行计算
  • 较为实用,一定程度上减小了延迟等因素的影响
  • -- 押爆双排 --
  • 39.5拍(存气状态)或 40拍(分开状态)爆气时长
  • 以押爆单排数据为基础进行计算
  • 理想状态,实际双排出现的可能性极低,仅做参考之用 */

About

QQ炫舞手游工具箱,可以计算爆点、伸缩谱面等

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published