kvarenzn / phisap

[deprecated] [for android] Semi-automatic player for the rhythm game "Phigros"
174 stars 38 forks source link

一些问题 #106

Closed 364hao closed 1 year ago

364hao commented 1 year ago

Q:algo2(激进算法)相较于algo1(保守算法)对谱面的哪些情况进行了优化或修改?(比如Flick抵消Hold怎么实现的) Q:PEC,RPE等其他自制谱格式的支持是如何实现的? Q:dev的算法是否仍在继续开发,还是说沿用stable的算法从头开始?

kvarenzn commented 1 year ago

A0: QA.md中的一些东西已经过时了,而且当时也没写完,这也是我没有在README.md提到它的原因。至于没写完是因为我觉得想把一些东西表述出来还是比较考验语文功底的

A1: algo2中没有“hold”这个概念。它会把hold拆成tap+drag。而drag在规划时会先寻找屏幕上离判定点最近的指针,如果有的话,就不需要再分配新的指针了。所以,如果有分配给flick的指针恰好在drag的判定区内,这个机制会使drag和flick共用一个指针(其实也可以跟tap共用),表现出来的效果就是flick把hold抵消了

A2: 你去看代码吧,在pec.pyrpe.py里。简单来说就是抽象出三种谱面共有的东西,比如判定线JudgeLine,音符Note。然后用一种通用的方式表现出来(也就是Chart)。规划算法在规划时并不知道(也无需理会)当前谱面来自哪个自制谱,它只依赖这些共有的信息

A3: 目前我正在开发algo3,使用更为激进的方案。如果algo3能够稳定工作,那么以后的版本只保留algo3。如果还有一些问题,那么就丢弃algo1,将原来的algo2变更为“保守算法”,algo3命名为“激进算法”

364hao commented 1 year ago

谢谢大佬拨冗回复

至于没写完是因为我觉得想把一些东西表述出来还是比较考验语文功底的

同语言表达菜(

表现出来的效果就是flick把hold抵消了

确实看起来完美无瑕,但为什么#97 中仍然崩溃了呢 另外似乎崩溃的不止一个地方 Snipaste_2023-08-05_12-41-54 ### 不过如果您不愿意处理这种逆天的谱面,非常抱歉请忽略该部分

kvarenzn commented 1 year ago

但为什么97中仍然崩溃了呢

说的是啊,我也在找原因啊( 不过既然出现了这么多问题,我觉得最好的解决办法还是写个新的,毕竟我也不想动以前写的屎山了

不过如果您不愿意处理这种逆天的谱面,非常抱歉请忽略该部分

其实处理这玩意还是挺有意思的,个人感觉比音游本身有意思( 纵连也不会,多k也不好,只能写写外挂这样子

364hao commented 1 year ago

属于是Another me了