无标题无名氏No.62326498 只看PO
2024-05-09(四)23:37:00 ID:TPWHppd 回应
肥哥们,我现在在实现这样一个功能:
如果设施a存在,为巢穴提供一个数值+1
我现在的实现方式是在设施a被修建起来时令巢穴的数值+1,然后在被摧毁时令巢穴的数值-1
但这样的话就要写两个函数,感觉不够优雅,工作量也很大,有没有更好的实现方式呢(つд⊂)
无标题无名氏No.62326590
2024-05-09(四)23:43:40 ID: TPWHppd (PO主)
语言是js,我们在做的是一个网页游戏,我们希望能够有类似创意工坊的功能,所以接口写得比较松散
无标题无名氏No.62329536
2024-05-10(五)09:07:06 ID: QbwxZDS
感觉写成两个函数/事件回调没什么问题,挺符合职责分离的
不然就写个集合,把所有的a加进去,建造/销毁的时候触发巢穴去获取a的集合的数量
无标题无名氏No.62330232
2024-05-10(五)10:27:53 ID: TPWHppd (PO主)
>>No.62327521
有点不好,因为A的数量不可控,我们的需求是失去时及时销毁( ;´д`)
>>No.62328646
那不还是函数吗( ゚∀。)
>>No.62329165
也不大行,因为设施a的效果也不可控,我们的最优期望是一个自定义函数能够实现设施a的效果,然后通过某些方式来控制这个函数是否起效(つд⊂)
>>No.62329536
理是这个理,但是工作量真的很大(;´Д`)
而且和需求是有一点不符合的|-` )
需求是“这个设施存在时提供的效果”,而不是“这个设施建设时/摧毁时提供的效果”
后两者是另外的需求了(つд⊂)
无标题无名氏No.62330265
2024-05-10(五)10:31:52 ID: TPWHppd (PO主)
>>No.62329536
集合似乎是正确的做法呢,但是设施A的效果理应是一个自定义函数,我们希望的是这个函数的触发与否能够得到控制|-` )
但问题就在于巢穴的数值要么受到这些集合的改变呢
难道说要在每一次发生设施的状态变化时,都刷新一次巢穴的状态,计算巢穴的设施集合内的设施对象的效果吗|-` )
感觉后面设施对象的量升上来的话,优化会很吃力(つд⊂)