回应模式 - No.62326498


No.62326498 - 技术宅


无标题无名氏No.62326498 只看PO

2024-05-09(四)23:37:00 ID:TPWHppd 回应

肥哥们,我现在在实现这样一个功能:

如果设施a存在,为巢穴提供一个数值+1

我现在的实现方式是在设施a被修建起来时令巢穴的数值+1,然后在被摧毁时令巢穴的数值-1

但这样的话就要写两个函数,感觉不够优雅,工作量也很大,有没有更好的实现方式呢(つд⊂)

无标题无名氏No.62326507

2024-05-09(四)23:37:27 ID: TPWHppd (PO主)

写了一天的代码,感觉脑子有点乱,如果没说清楚的话,我会补充的(つд⊂)

无标题无名氏No.62326590

2024-05-09(四)23:43:40 ID: TPWHppd (PO主)

语言是js,我们在做的是一个网页游戏,我们希望能够有类似创意工坊的功能,所以接口写得比较松散

无标题无名氏No.62327521

2024-05-10(五)00:50:18 ID: gfr22vh

A存在,A的状态为1;A不存在,A的状态为0
B的数值加上A的状态

无标题无名氏No.62328646

2024-05-10(五)05:03:10 ID: 5OiFZ7z

用callback实现?

无标题无名氏No.62329165

2024-05-10(五)08:16:35 ID: 8xX9yzH

修建和摧毁时发一个update事件,然后重新计算数值

无标题无名氏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的效果理应是一个自定义函数,我们希望的是这个函数的触发与否能够得到控制|-` )

但问题就在于巢穴的数值要么受到这些集合的改变呢

难道说要在每一次发生设施的状态变化时,都刷新一次巢穴的状态,计算巢穴的设施集合内的设施对象的效果吗|-` )
感觉后面设施对象的量升上来的话,优化会很吃力(つд⊂)

无标题无名氏No.62330879

2024-05-10(五)11:26:06 ID: 8xX9yzH

>>No.62330265
游戏60帧,一秒算60次也不会消耗多少资源吧