【计算】产火能力的几个意外发现
美食大战老鼠吧
全部回复
仅看楼主
level 14
Xero⚡12 楼主
很久没发过计算贴了。最近看见一个讨论暖鸡强度的帖子,我就顺手算了一下不同生产卡组的产火能力,结果有了几个意外发现。
先说结论:1. 格子够用的时候,8技能二转大火生产能力不如白板暖鸡。2. 小火酒杯是最强的生产卡,而大火、
双子
等大产火卡反而很弱。3. 酒杯的强度十分接近小火,能大幅提高产火能力。
本次计算的模型比较理想:进入战斗后以最快速度放置生产卡,格子够用,无冰沙幻鸡辅助,无损卡。在实际条件下,卡牌强度可能有变化。
下面发计算过程。
2023年06月30日 13点06分 1
level 14
Xero⚡12 楼主
2023年06月30日 13点06分 2
双子座配图变成暖鸡了,不过问题不大,两者机制是完全相同的
2023年06月30日 13点06分
我曾经测的是关卡开始至卡片产火周期后放置就会触发秒产。例如9星小火产火周期16s,因此关卡开始16s后就会触发秒产。13小火产火周期12s,因此关卡开始12s后会触发秒产
2023年06月30日 16点06分
@So陌路💯 确实,刚测试了5星小火,发现放到第4个才有秒产,所以应该是你说的这个机制。
2023年07月01日 09点07分
level 14
Xero⚡12 楼主
2023年06月30日 13点06分 3
算真爱结晶了么
2023年08月25日 11点08分
?????
2023年07月01日 02点07分
level 14
Xero⚡12 楼主
2023年06月30日 13点06分 4
level 14
Xero⚡12 楼主
2023年06月30日 13点06分 5
level 14
Xero⚡12 楼主
2023年06月30日 13点06分 6
level 14
Xero⚡12 楼主
//用于计算产量的C语言程序:
#include <stdio.h>
//秒产类型:0=不秒产,1=小火炉,2=四转太阳神,3=大火炉,10=酒杯灯,20=二转酒杯灯
int rounds(int time,int level,int type)//计算生产轮次:时间、星级、是否秒产
{
if (type) return (time+23-level)/(25-level);//秒产
else return (time-2)/(25-level);//非秒产
}
int roundslamp(int time,int level)//酒杯灯减产轮数
{
if (time>=90) return 88/(25-level)+1;
else return (time+23-level)/(25-level);
}
int product(int time,int level,int num,int cd,int cost,int type)//净产量:时间、星级、[单产、冷却、耗能、是否秒产]
{
int k,TotalCost,Small=0,all=0;//小火苗轮数,总轮数
int m=time/cd+1;//放置数量
for (k=0;k<m;k++)
{
all+=rounds(time-k*cd,level,type);
Small+=roundslamp(time-k*cd,level);
}
if (cost<10000) TotalCost=m*cost;//耗能不带+的
else TotalCost=m*(cost-10000)+25*m*(m-1);//耗能带+的
if (type==0 || type==2) return all*num-TotalCost;//非秒产或四转太阳神:不吞轮
if (type==1) return (all-2)*num-TotalCost;//小火炉:吞2轮
if (type==3) return (all-1)*num-TotalCost;//大火炉:吞1轮
return (all-2)*num-(Small-2)*type-TotalCost;//酒杯灯:吞2轮小的
}
int BigStove(int time,int level1,int num1,int cost1,int level2,int num2)//大火吞并小火后的净产出:时间、大火配置、小火配置
{
int swallow=0;//吞没量
int origin=product(time,level1,num1,50,cost1,3);
int k,m=time/50+1;//吞没的小火数量
for (k=0;k<m;k++)
swallow+=(time-7*k-2)/(25-level2)-(43*k-2)/(25-level2);
return origin-swallow*num2;
}
void main()
{
int i,j,t,level;
char* name[12]={"9小火","9酒杯","9大火","9暖鸡","9双子","12太阳神","12小火","12酒杯","12大火","12暖鸡","12双子","14太阳神"};
int data[12][4]={{48,7,25,1},{48,7,15,10},{144,50,10150,3},{136,50,125,0},{136,50,200,0},{210,50,200,0},
{96,7,25,1},{96,7,15,20},{144,50,150,3},{180,50,125,0},{204,50,200,0},{280,50,200,2}};//[单产、冷却、耗能、是否秒产]
for(t=1;t<=3;t++)
for (j=0;j<=5;j++)
{
printf("%d分钟产量:",t);
for (i=j;i<=j+6;i+=6)
{
if (i<=4) level=9;
else if (i<=10) level=12;
else level=14;
printf("%s=%d",name[i],product(t*60,level,data[i][0],data[i][1],data[i][2],data[i][3]));
if (j==2)
{
printf("(吞9火=%d ",BigStove(t*60,level,data[i][0],data[i][2],9,48));
printf("吞12火=%d)",BigStove(t*60,level,data[i][0],data[i][2],12,96));
}
else printf("\t");
}
printf("\n");
}
}
2023年06月30日 13点06分 7
我擦 c语言大佬
2023年06月30日 14点06分
level 4
这么硬核吗[小乖]
2023年06月30日 13点06分 8
level 14
Xero⚡12 楼主
为什么12蓝火+12白暖鸡产量会大于12蓝火+12蓝大火呢?
因为大火替换蓝火,每轮只增加一朵火苗的产量(48火);而种下一个白板暖鸡,每轮增加75产火。
本次计算表明,需要底座可能是一个不能忽视的缺点,它会严重影响短期内的产量。只有当格子基本占满,需要在“铲小火换暖鸡”和“在小火上种大火”之间选择时,大火才能体现出它的优势。
当然,本人并不鼓励使用暖鸡,问就是太贵,不如火兔子一根毛[滑稽]
2023年06月30日 13点06分 9
而且那个帖子计算的是魔塔,只能说在魔塔这种关卡,没有秒产回本都要等半天确实很致命
2023年06月30日 16点06分
诶,为什么不鼓励暖鸡,暖鸡要颜值有颜值,要产火有颜值,就这么一摆,好看
2023年11月29日 05点11分
level 6
.
2023年06月30日 13点06分 10
level 8
打低配的时候带不带酒杯体感差距确实非常大,大火提升也确实感觉没那么明显,酒杯在除了大后期外其他时候都有很大提升,优先级我感觉仅次于小火。
但账号发展大后期的情况下(尤其是武器产能拉高后),产火卡整体放的量不会太大,像刷分这种环境放太多产火可能会影响甩炸弹卡的节奏,这个时候太阳神这种长cd高产量的卡的强度体现的就非常明显了。
2023年06月30日 13点06分 11
是这样的
2023年06月30日 13点06分
吧务
level 14
主要魔塔往后走经常性是格子不够用[阴险]
2023年06月30日 13点06分 12
确实,在魔塔甚至双子座都很有强度[滑稽]
2023年06月30日 13点06分
level 14
Xero⚡12 楼主
补充说明一下本模型的准确度:
从零开始放13星蓝火(单轮产100),1分钟内实测能增长2075火苗,而本模型的计算结果是2275,已经相当接近了。相差200是因为我的手速不是无限快的,不能真正做到每7秒放一个火炉。
产火数据都是已知的,没有随机因素在里面,所以产量能够理论计算也不奇怪。也欢迎大家对计算结果进行检验[滑稽]
2023年06月30日 13点06分 13
level 11
[啊][啊][啊][啊][啊][啊][啊]
2023年06月30日 13点06分 14
level 8
等我念了大学我一定要学这个[怒]
2023年06月30日 14点06分 15
别,快跑[小乖]
2023年07月06日 07点07分
1 2 3 4 尾页