所以我最近一直在 Scratch 中创建 Cookie Clicker。虽然我一直在向游戏添加建筑物并为这些建筑物添加购买 10 功能,但老实说,我也想向游戏添加购买 100 功能,但我不希望代码为
x+(x*1.15)+(x*1.15^2)+...+(x*1.15^99)
,其中 x
被定义为玩家当前拥有的建筑物的数量,老实说,我不想继续向“购买 10 个 y”代码添加 200 多个代码块。 (在这种情况下,哪栋建筑被购买了 10 次)
4 个阻碍我自己解决这个问题的困难:
如上所述(我此时刚刚复制并粘贴了代码),我必须将其写为
if z(z 是玩家获得的饼干数量)=
x+(x*1.15)+(x*1.15*1.15)+(x*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15) or if z > x+(x*1.15)+(x*1.15*1.15)+(x*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)
然后将 z 设置为
z - x+(x*1.15)+(x*1.15*1.15)+(x*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)+(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)
将 cps(每秒 cookie 数)更改为
10 * a
(每秒更改的 cookie 数乘以 10。为简单起见,我通常只是在数字末尾添加一个额外的 0)
通过
(x*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15*1.15)
设置 b(y)(正在购买的建筑物的成本)
将 y 更改 10
否则
广播不能购买!
但是,我想写为累积价格,类似于用于确定当您拥有 y 栋建筑物时您需要购买多少 cookie 的公式,例如
bΣ(b=a+1) ((c)(1.15^b))/1.15
,其中 c
是基本成本您想要购买的建筑物类型,b
是您想要拥有的建筑物类型的编号,a
是您当前拥有的建筑物类型的编号。
为了消除任何困惑,如果您想查看编辑器,这里是链接。
您要解决的总和是有限几何级数的特殊情况,其公式为:
乳胶:
\sum_{k=0}^n xy^k=\frac{xy^{n+1}-x}{y-1}
代入我们得到的值:
乳胶:
\sum_{k=0}^{100} x(1.15)^k=x\frac{(1.15)^{101}-1}{0.15}=20x\frac{(1.15)^{101}-1}{3}
为了计算 (1.15)^{101},我们可以利用指数函数和对数互为倒数的事实来得到
乳胶:
(1.15)^{101}=e^{101\log(1.15)}
从头开始写这个我们得到
Wolframalpha 给出的近似值为 1350460.46830533172615525572988868491474851495179481437632719