一样先附网址
https://docs.google.com/spreadsheets/d/1fM13KbiUQiD4n1LT8olp8FQ2IP2utoMZQJimHTjHNKM/edit?usp=sharing
缩网址: https://tinyurl.com/yhhnjuhb (请自行建立副本后再使用)
前篇说明请见 #1WSa7mqC
前阵子有点忙, 昨天有朋友提了一个全新的点子并且整合了一页竞技场的马娘比较
于是我就趁这个机会也把公式的最后一部份补足了
===
: 超过4/6后进入终盘, 多数马娘会在进入终盘时直接开始最后冲刺
: 但是有些马娘却不会, 这可能跟AI判断有关
: 目前还不知道是怎么判断的, 不过与剩余的体力和是否被阻挡应该没有绝对的关系
之前做试算表的时候还不知道冲刺是怎么判断的, 然后就立刻有了解包的消息
马娘会判断目前体力是否能冲刺到终点前60m, 可以的话就会立刻开始冲刺
但这边的计算有点复杂, 不过因为之前也有人问过其他东西的计算方式
想说可能还是会有人有兴趣, 我就把它附在文章的最后面
这次新增了一个竞技场马娘比较的页面
简单说就是输入各个马娘的属性, 然后会针对各个赛道去比较完赛时间和期望分数等等
https://i.imgur.com/I7qYBOg.png
比如说这两只樱花进王, 如果放一起跑的话上面那只会第一, 下面那只平均会差一个脖子
耐力第一只原则上跑的完, 但可能有时会不够(视场地和心情)
第二只在1400就跑不完
分数的话则是上面那只的期望技能分数比较高
注意这个期望技能分数并不含固有, 也不含各种加成
然后长距离因为2600以下和3000以上的距离跨度实在太大, 所以就直接分两区处理了
因为试算表并不能考虑到序中场时, AI在处理是否要加速的情况
不能考虑到是否会被卡住, 是否能突破, 也无法考虑各种技能开的时机的问题
而不幸的是, 这些东西的影响动辄就好几马身甚至大差以上
这也导致马娘的比赛随机性十分大
所以试算表只能算是最简单的能力值估算, 做为选角色以及要优先强化哪一只时的参考
===
最后是理论计算的部份
首先, 耗体的公式大约是这个形式: c(X - c2)^2, 其中X为速度, c, c2为常数
在速度没有变化时, 这个值可以很容易的求得并计算
但是当速度在变化的时候, 要求出总耗体只能对其进行积分
积分后该式会变成X的一个三次方程式
而在终盘的状况, 首先马娘无论如何都一定会先加速到终盘速度
接着视其体力决定是否要往上冲刺, 什么时候该往上冲刺. 此处分为四种情况
1. 马娘跑到终点都没有多余的体力
2. 马娘跑到快到终点才开始冲刺, 冲刺加速到一半便没体力了
3. 马娘跑了一阵子才开始冲刺, 加到顶速以后再跑一阵子后没体力
4. 马娘立刻开始冲刺, 冲刺到终点都还有体力
1, 3, 4都很简单, 只要套上面的积分式求出加速段的体力
就可以计算出马娘到底该在什么时候开始最后冲刺
2 的情况就很复杂, 因为她是加速到一半没体力, 所以具体要加速多久
则是要解一个三次方程式的根
算式如图
https://i.imgur.com/FT3CQnc.png
https://i.imgur.com/G4qDpv4.png
D, DF, DL代表总距离, 终盘跑的距离, 最后冲刺加速时跑的距离
S, SF, SL代表总体力, 终盘耗体, 最后冲刺加速时耗体
STF是终盘顶速每秒耗体, SPF是终盘顶速
C, C2代表前面耗体公式的c和(X - c2)的部份
a, t分别是加速度和加速时间
这里面只有加速时间t是变量, 其他都是已知常数
因此化简到最后会得到一个t的三次方程式
三次方程式要公式求解很麻烦, 幸好我们用的是试算表, 可以很方便的用牛顿法求解
设该方程式为at^3 + bt^2 + ct + d, 随便代入一个初始值然后迭代个六次就差不多了
https://i.imgur.com/M02NmGx.png
求出情况2里面究竟是会加速多久, 就可以计算出前面是先跑了多久才开始加速
===
试算表里面还有个连结是通向一个资讯整理文
https://hackmd.io/@ian110608/Hkrq85Dwd
里面的工具区有同一系列的其他试算表 (相性计算, 支援卡比较计算)
不过这几张的主要作者都不是我, 我只是会帮忙修改和提供技术或数学支援
有兴趣的话也可以去看看 我们的目标是构建一个科学养马帝国(x)