技术:精确数据

版本差异

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
技术:精确数据 [2024/06/24 16:14] – [攻击机制] xiao_He技术:精确数据 [2024/10/28 15:58] (当前版本) 小文233
行 28: 行 28:
  
 <WRAP center round help note> <WRAP center round help note>
-以下内容涉及较多精确数据,除非确信某处有误,否则**谨慎修改**。+以下内容涉及较多精确数据,除非确信某处有误,否则**请勿修改**。
 </WRAP> </WRAP>
  
行 53: 行 53:
   * 植物/僵尸坐标:以游戏内存值为准,单位px   * 植物/僵尸坐标:以游戏内存值为准,单位px
     * 坐标轴原点为1-1格左上角,↓→为正方向     * 坐标轴原点为1-1格左上角,↓→为正方向
-  * 判定以游戏内调试模式为准 +    绘制判定区域时,需将坐标轴原点平移至可见画面左上角,大致符合游戏内调试模式觉逻辑。若仅进行判定计算,无需考虑这一
-    * 坐标轴原点为可区左上角((该坐标系最先由[[人物:不在宝前]]在[[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]]中正式提出在于可以直接通过内存值加减得到判定范围)),↓→为正方向+
   * 时间:以游戏最小时间单位,单位cs   * 时间:以游戏最小时间单位,单位cs
  
行 64: 行 63:
 ==== 判定计算 ==== ==== 判定计算 ====
 [{{ :技术:pasted:20221218-100348.png?250|游戏内圆的实际判定范围}}] [{{ :技术:pasted:20221218-100348.png?250|游戏内圆的实际判定范围}}]
-内存值中存在16位浮点数,但几乎所有判定计算时都会向零取整(即抹去小数部分)。圆的判定是''(Δx)^2+(Δy)^2<nowiki><=</nowiki>R^2'',其中''(Δx)''、''(Δy)''均以此法取整,因此相应的圆不是一般画图软件出来的圆,判定圆图形如右。+内存值中存在16位浮点数,但所有判定计算时都会向零取整(即抹去小数部分)。圆的判定是''(Δx)^2+(Δy)^2<nowiki><=</nowiki>R^2'',其中''(Δx)''、''(Δy)''均以此法取整,因此相应的圆不是一般画图软件出来的圆,判定圆图形如右。
 <WRAP clear/> <WRAP clear/>
  
行 92: 行 91:
 ====场景边界==== ====场景边界====
  
-^  名称  ^  范围  ^  含义  | +  * 僵尸可伤: 
-|  伤害区  |  ''-50~800''  |  在此范围外,僵尸不可伤(寒三叶草除外)  | +     * 防御域左端''800'' 
-|  触车区  |  ''-20~28''   僵尸触发小推车的范围  | +  僵尸进家: 
-|  警戒区  |  ''0~800''   大部分植物仅对此范围内的僵尸开火  | +     * 橄榄、投篮:''x≤-175'' 
-|  进家线  |  ''%%<-21%%''   大部分僵尸的进家判定线  |+     * 撑杆、巨人:''x≤-150'' 
 +     * 舞王、伴舞、潜水:''x≤-130'' 
 +     * 其它:''x≤-100'' 
 ====植僵坐标==== ====植僵坐标====
  
行 126: 行 128:
 ^5|40,510|120,490|200,470|280,450|360,430|440,410|520,410|600,410|680,410| ^5|40,510|120,490|200,470|280,450|360,430|440,410|520,410|600,410|680,410|
  
-====地形图==== 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:ne.jpg?direct&600 |前院地形图}}]</WRAP> 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:fe.jpg?direct&600 |后院地形图}}]</WRAP> 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:me.jpg?direct&600 |屋顶地形图}}]</WRAP> 
- 
-注: 
-  * 两种线有重合时,重合段用两者颜色相间的线表示 
-  * 白线为坐标轴,x轴向右为正,y轴向下为正 
-  * 紫色和暗品红色为各控制格的边框 
-  * 绿线为可见区的边界 
-  * 右红线为伤害区和警戒区的右界——若僵尸防御域都在其右方则无敌且不被当作目标 
-  * 蓝线为警戒区的左界——若僵尸防御域都在其左方则不被当作目标 
-  * 黄竖线为碰车区的边界 
-  * 左红线为屋外区的左界——若僵尸防御域都在其左方则其进屋 
-  * 黄横线或斜线为僵尸基准轨迹,没有纵向偏移且正常前进的僵尸坐标在其上 
-  * 绿十字为植物基准点,通常植物坐标在那些位置 
  
 ===== 植物概览 ===== ===== 植物概览 =====
行 161: 行 144:
 </callout> </callout>
 |<100% 7em>| |<100% 7em>|
-^  植物          ^ 触发                                                                                            ^ 触发特判                                                                                                                                                   ^ 命中                                                ^ 命中特判                                                                                                                                                +^  植物          ^ 触发                                                                                                                                                                                                                                      ^ 触发特判                                                                                                                                                   ^ 命中                                                ^ 命中特判                                                                                                                                                                  
-|  樱桃炸弹      |                                                                                                 |                                                                                                                                                            | 圆心''(x+40,y+40)'',半径''115''                    |                                                                                                                                                         +|  樱桃炸弹      |                                                                                                                                                                                                                                           |                                                                                                                                                            | 圆心''(x+40,y+40)'',半径''115''                    |                                                                                                                                                                           
-|  土豆地雷      | ''x~+55''                                                                                       | 对正在啃的''左右各伸30''\\ 对所有僵尸''左缩40*N'',N为编号小于等于该僵尸的跳后撑杆数                                                                       | 圆心''(x+20,y+40)'',半径''60''                                                                                                                                                                             +|  土豆地雷      | ''x~+55''                                                                                                                                                                                                                                 | 对正在啃的''左右各伸30''\\ 对所有僵尸''左缩40*N'',N为编号小于等于该僵尸的跳后撑杆数                                                                       | 圆心''(x+20,y+40)'',半径''60''                                                                                                                                                                                               
-|  大嘴花        | ''x+80~+120''                                                                                   | 对正在啃的''左右各伸60''\\ 对所有僵尸''左缩20*N'',N为编号小于等于该僵尸的反向矿工数                                                                       | 范围内编号最小的僵尸                                |                                                                                                                                                         +|  大嘴花        | ''x+80~+120''                                                                                                                                                                                                                             | 对正在啃的''左右各伸60''\\ 对所有僵尸''左缩20*N'',N为编号小于等于该僵尸的反向矿工数                                                                       | 范围内编号最小的僵尸                                |                                                                                                                                                                           | 
-|  窝瓜          | ''x+20~+135''                                                                                   | 对正在啃的''右伸40''\\ 对跳后撑杆、海豚、橄榄、小鬼''左伸60''\\ 对反向矿、雪人''左伸70'',正在啃再''左伸40''\\ ''窝瓜x-118≤奔跑撑杆x≤窝瓜x-17''时触发窝瓜  | 压区跨度''43''                                      | 对橄榄''左右各伸20''                                                                                                                                    +|  毁灭菇        |                                                                                                                                                                                                                                                                                                                                                                                                      | 圆心''(x+40,y+40)'',半径''250''                    |                                                                                                                                                                           
-|  缠绕海草      | ''x~+80''                                                                                       |                                                                                                                                                            | 范围内编号最小的僵尸                                |                                                                                                                                                         +|  窝瓜          | ''x+20~+135''                                                                                                                                                                                                                             | 对正在啃的''右伸40''\\ 对跳后撑杆、海豚、橄榄、小鬼''左伸60''\\ 对反向矿、雪人''左伸70'',正在啃再''左伸40''\\ ''窝瓜x-118≤奔跑撑杆x≤窝瓜x-17''时触发窝瓜  | 压区跨度''43''                                      | 对橄榄''左右各伸20''                                                                                                                                                      
-|  普通植物向右  | ''x+60''                                                                                        |                                                                                                                                                            | (取整后)坐标相同取小编号,否则取左坐标            |                                                                                                                                                         +|  缠绕海草      | ''x~+80''                                                                                                                                                                                                                                 |                                                                                                                                                            | 范围内编号最小的僵尸                                |                                                                                                                                                                           
-|  裂荚射手向左  | ''x+16''                                                                                        |                                                                                                                                                            |                                                                                                                                                                                                             +|  普通植物向右  | ''x+60''                                                                                                                                                                                                                                  |                                                                                                                                                            | (取整后)坐标相同取小编号,否则取左坐标            |                                                                                                                                                                           
-|  杨桃向左      | ''x+40''(判定僵尸防御域右界)                                                                   |                                                                                                                                                            |                                                                                                                                                                                                             +|  裂荚射手向左  | ''x+16''                                                                                                                                                                                                                                  |                                                                                                                                                            |                                                                                                                                                                                                                               
-|  反向双发      | ''x''                                                                                           |                                                                                                                                                            |                                                                                                                                                                                                             +|  杨桃向左      | ''x+40''(判定僵尸防御域右界)                                                                                                                                                                                                             |                                                                                                                                                            |                                                                                                                                                                                                                               
-| 火炬树桩       | 右向非三线豌豆''x-60''过火;\\ 三线中间豌豆''x-62''过火\\ 删除后在''x-20''射出火豆(子弹坐标) 左向豌豆''x+45''过火\\ 三线上下豌豆''x-22''过火\\ 过火前后子弹坐标无变化                                                                                   | 豌豆、冰豆命中''x+25~+80'' \\ 火豆命中''x+40~+70''  | 火炬在豌豆右列时,豌豆符合命中僵尸和过火时,优先过火(卡火炬“特性”的由来);火炬在同列或者左列时,火炬编号大则优先过火,豌豆编号大则优先命中僵尸。 +|  反向双发      | ''x''                                                                                                                                                                                                                                     |                                                                                                                                                            |                                                                                                                                                                                                                               
-|  小喷菇        | ''x+60~+290''                                                                                   |                                                                                                                                                            | ''x+40~+323''                                                                                                                                                                                               | + 火炬树桩      | 右向非三线豌豆''x-20''过火;\\ 三线中间豌豆''x-22''过火;\\ 左向豌豆''x+45''过火;\\ 三线上下豌豆''x-22''过火;\\ 过火前后子弹坐标无变化(上面数据均在静态环境\\ 下测定,豌豆植物摇头以及子弹以3.33为最小单位\\ 位移会使过火实际为一个范围)  |                                                                                                                                                            | 豌豆、冰豆命中''x+25~+80'' \\ 火豆命中''x+40~+70''  | 火炬在豌豆右列时,豌豆与火炬距离(坐标差)小于''56''在过火前将不命中僵尸(卡火炬“特性”的由来);火炬在同列或者左列时,火炬编号大则优先过火,豌豆编号大则优先命中僵尸。 
-|  海蘑菇        | 同上                                                                                            |                                                                                                                                                            | ''x+45~+328''                                                                                                                                                                                               +|  小喷菇        | ''x+60~+290''                                                                                                                                                                                                                             |                                                                                                                                                            | ''x+40~+323''                                                                                                                                                                                                                 
-|  大喷菇        | ''x+60~+400''                                                                                   |                                                                                                                                                            | ''x+61~+399''                                                                                                                                                                                               | +|  大喷菇        | ''x+60~+400''                                                                                                                                                                                                                             |                                                                                                                                                            | ''x+61~+399''                                                                                                                                                                                                                 
-|  忧郁菇        | ''x-80~+160''                                                                                                                                                                                                                                              | ''x-79~+159''                                                                                                                                                                                               | +|  胆小菇害怕    | 圆心''(x,y+20)'',半径''120''                                                                                                                                                                                                             |                                                                                                                                                            |                                                                                                                                                                                                                               | 
-|  地刺(王)    | ''x+20~+50''                                                                                    |                                                                                                                                                            | ''x+21~+49''                                        |                                                                                                                                                         +|  海蘑菇        | 同上                                                                                                                                                                                                                                      |                                                                                                                                                            | ''x+45~+328''                                                                                                                                                                                                                 
-|  胆小菇害怕    | 圆心''(x,y+20)'',半径''120''                                                                   |                                                                                                                                                            |                                                                                                                                                                                                             +|  磁力菇        | 圆心''(x,y+20)'',半径''270''                                                                                                                                                                                                             | 对正在啃食的半径''320''(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]]))                                        |                                                                                                                                                                                                                               | 
-|  磁力菇        | 圆心''(x,y+20)'',半径''270''                                                                   | 对正在啃食的半径''320''(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]]))                                        |                                                                                                                                                                                                             +|  忧郁菇        | ''x-80~+160''                                                                                                                                                                                                                                                                                                                                                                                        | ''x-79~+159''                                                                                                                                                                                                                 | 
-|  玉米加农炮    |                                                                                                 |                                                                                                                                                            | 圆心为爆炸中心(见下文),半径''115''                                                                                                                                                                       |+|  地刺(王)    | ''x+20~+50''                                                                                                                                                                                                                              |                                                                                                                                                            | ''x+21~+49''                                        |                                                                                                                                                                           
 +|  玉米加农炮    |                                                                                                                                                                                                                                           |                                                                                                                                                            | 圆心为爆炸中心(见下文),半径''115''                                                                                                                                                                                         |
  
 === 命中范围 === === 命中范围 ===
行 246: 行 230:
   * 僵尸进入大嘴花的触发范围后,下一厘秒开咬(因为同一厘秒内先计算范围内有没有僵尸,后计算僵尸的运动),再延迟0.70秒咬中,整个咬动作1.05秒,所以咬间隔1.06秒。消化40.00秒,咽2.34秒,所以吞间隔43.40秒   * 僵尸进入大嘴花的触发范围后,下一厘秒开咬(因为同一厘秒内先计算范围内有没有僵尸,后计算僵尸的运动),再延迟0.70秒咬中,整个咬动作1.05秒,所以咬间隔1.06秒。消化40.00秒,咽2.34秒,所以吞间隔43.40秒
  
-命中延迟: +命中延迟:(([[https://tieba.baidu.com/p/6620690189|各种细节]])) 
-  * 大喷菇命中延迟0.49s,忧郁菇第一发命中延迟0.74s +^  植物  命中延迟(cs)  ^ 
-  * 地刺命中延迟0.25s,地刺王命中延迟0.30s和0.68s,两次命中间隔0.38s+|  豌豆射手、寒冰射手、仙人掌、裂荚射手(右向)  |  34  | 
 +|  双发射手、裂荚射手(左向)、反向双发射手  |  25、50 
 +|  小喷菇、海蘑菇  |  28  | 
 +|  大喷菇  |  49  | 
 +|  胆小菇  |  25  | 
 +|  地刺  |  25  | 
 +|  杨桃  |  39  | 
 +|  卷心菜投手  |  31  | 
 +|  玉米投手  |  29  | 
 +|  西瓜投手、冰瓜  |  35  | 
 +|  机枪射手  |  32、49、65、82 
 +|  忧郁菇   74、102、130、158  | 
 +|  猫尾草  |  31、81 
 + 地刺王   30、68  |
  
 子弹类的击中判定: 子弹类的击中判定:
行 412: 行 409:
 </WRAP> </WRAP>
  
 +订正:
 +  * 表中跳跳防御域y仅适用于跳跃跳跳,行走跳跳防御域y为''+17~+132''.
 ==== 飞跃行为 ==== ==== 飞跃行为 ====
 ^  僵尸  ^  落地时坐标  ^  备注  | ^  僵尸  ^  落地时坐标  ^  备注  |
行 446: 行 445:
 |  冰车  |  292  |  622  |  1014  | |  冰车  |  292  |  622  |  1014  |
 |  篮球  |  428  |  -  |  -  | |  篮球  |  428  |  -  |  -  |
 +==== 初次攻击分布 ====
 +一个放置充分长时间的发射子弹植物,面对一个早已存在于场上的僵尸,于任何一个时间点,距离其下一次触发__子弹发射倒计时__的时间点(不包含当前时间点)的时长x,服从一个固定的分布律。该分布律只与植物自身的攻击间隔有关,也被称为初次攻击分布。
 +
 +该分布__常常被误认为__ ''[1,最大攻击间隔] ''的均匀分布。
 +
 +射击类植物(攻击间隔1.36s~1.50s)的初次攻击分布:
 +
 +$$P\{X=x\}=\begin{cases}\frac{1}{143}&,1\le x\le 136\\ \frac{151-x}{2145}&,137\le x\le 150\end{cases}$$
 +
 +<WRAP centerimgbox>
 +[{{:技术:分布律.png?500|射击类植物初次攻击分布律直观图像}}]
 +</WRAP>
 +
 +以射击类植物为例,有时候初次攻击分布表述为“于0cs放置的僵尸最早触发__子弹发射倒计时__的时长(2cs~151cs)”对应的概率分布,在这个表述下原分布横坐标1~150改为2~151。
 +
 +有时候初次攻击分布表述为“距离其下一次触发__子弹发射倒计时__的时间点(包含当前时间点)的时长(0cs~149cs)”对应的概率分布,在这个表述下原分布横坐标1~150改为0~149。
 +
 +投掷类植物(攻击间隔2.86s~3.00s)的初次攻击分布:
 +
 +$$P\{X=x\}=\begin{cases}\frac{1}{293}&,1\le x\le 286\\ \frac{301-x}{4395}&,287\le x\le 300\end{cases}$$
 +
 +忧郁菇(攻击间隔1.86s~2.00s)的初次攻击分布:
 +
 +$$P\{X=x\}=\begin{cases}\frac{1}{193}&,1\le x\le 186\\ \frac{201-x}{2895}&,187\le x\le 200\end{cases}$$
 ==== 蹦极偷曾概率 ==== ==== 蹦极偷曾概率 ====
  
行 493: 行 516:
 没被抓的忧郁菇击中12次的概率,冰冻4.00秒10.3%、冰冻4.01秒9.8%。 没被抓的忧郁菇击中12次的概率,冰冻4.00秒10.3%、冰冻4.01秒9.8%。
  
-假设寒冰菇冰冻4~6秒均匀分布,冰冻4.00秒概率是1/201,被偷概率+假设寒冰菇冰冻4~6秒均匀分布,冰冻4.00秒概率是1/201。 
 + 
 +根据初始攻击分布触发与蹦极落地同时概率是1/193,蹦极迟0.01s落地相当于蹦极落地前0.01s忧郁菇触发,概率同样是1/193。 
 + 
 +被偷概率
 <code> <code>
-1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 +1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/199 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.098++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.098
 </code> </code>
  
-结果大约十亿分之4.5,小到可以忽略不计。+结果大约十亿分之4.7,小到可以忽略不计。
  
 ==== 地刺王对巨人的伤害 ==== ==== 地刺王对巨人的伤害 ====
  • 最后更改: 4月前
  • xiao_He 修改