更新更新!
首先我先把单个鸟去掉了,变成很多鸟


for里面的100可以替换成其他数字(这里指的是 genetic algorithm里面的初始种群)

这里在check函数this.fitness下面又加了一个this.boolS,是为了不再显示或处理已经撞墙的鸟

(注: think函数在下面解释,和忽然发现鸟数量不一致,等会改233~不过就把这里的for改成和上面一样的就可以了);
这里是真正的不再显示或处理鸟

这个是给鸟装一个脑子,让它自己跳(这里可以把空格跳的地方给注释掉)
根据DTJS,一个参数是input,也就是输入的参数,第二个是hidden layer,第三个是output,第四个是data_set(这里没有因为不需要训练),第五个是label_set(这里也没有),第六个是学习率lr_rate,最后一个是激活函数(tanh也可以)
所以这里输入5个参数:
1 鸟到最近的柱子的距离
2 最近的柱子的上部分长度
3 最近的柱子的下部分长度
4 鸟的高度
5 鸟的速度(加速度就先算了。。。我怕太多参数弄不过来)
然后4个隐藏层
最后一个输出层,由于是sigmoid(0 - 1)所以只要超过0.5就跳

这个部分就是think函数啦,a b c d e分别对应上面的1 2 3 4 5
然后forward就是用上面的参数得到的结果
(PS有些人可能会问我为啥没有normalize这些参数,答案是我懒。。。。所以实际上应该normalize(或许不需要反正我懒),反正如果结果不是我想要的我改就好了,反正不难)
最后我因为最近疯狂改代码我都怀疑我漏发了我代码的某一个部分,所以我打算直接把我目前全部代码发上来(有没发的记得回复来提醒我哦)




今天代码和前面对比的话难一点,所以有问题的话一定要问哦!