回应模式 - No.62326498


No.62326498 - 技术宅


无标题无名氏No.62326498 返回主串

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

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

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

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

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

Tips无名氏No.9999999

2099-01-01 00:00:01 ID: Tips

( `д´)就不能学学动画版的萌豚,多看看动画片

无标题无名氏No.62326507

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

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

无标题无名氏No.62326590

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

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

无标题无名氏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.62331021

2024-05-10(五)11:39:42 ID: TPWHppd (PO主)

>>No.62330879
不是那种游戏啦,是一个很简单的网页游戏,回合制的那种( ゚∀。)

另外就是我们希望“设施”的数量不会过大地影响到运行效率,一个网页游戏占用太多内存不好的吧(*´д`)

但是要把函数执行行动限制单个对象的话,似乎又没有很好的方法完成需求( ;`д´; )

无标题无名氏No.62335932

2024-05-10(五)19:54:19 ID: TPWHppd (PO主)

>>No.62335097
巢穴的数值要求持续性地显示呢|-` )

我们目前的解决方案是给巢穴一个不显式显示的“受影响”属性,存放这个巢穴受到不同影响,标注这个影响的来源,影响的属性键值对和影响优先级

我们决定这样比较接近需求的原生含义。

然后到时候刷新状态也不需要把巢穴的所有设施都遍历,只需要遍历这些影响的来源,判断其是否有效就可以啦|∀` )

我个人觉得最后的这个遍历影响还有一点反直觉,不过我也想不出更好的方法了,不知道肥哥们是怎么想的呢|-` )

无标题无名氏No.62336585

2024-05-10(五)20:58:24 ID: TPWHppd (PO主)

>>No.62335932
呜哇,新的需求下来了,说是要能够显示一个对象的某个属性所受到的影响(;´Д`)

也就是要显示:

巢穴空间:5+2(设施a)+10%(天赋b)

这样的数据|-` )

那这样的话“影响”数组不就没用了吗,里面没有对应属性的标识啊,总不能遍历整个“影响”数组,然后把其中包含了要显示的属性的部分摘出来再显示吧(つд⊂)

目前看下来是需要把各个属性做成数组,然后往里面填充影响对象

也就是说要做成:

巢穴空间=[
 {影响源:自身,数值:+5},
 {影响源:设施a,数值:+3},
 {影响源:天赋b,数值:+10%}
]

这种( ´_ゝ`)

那这样的话显示逻辑也要改了,得在显示时判断每个影响对象是否有效

超麻烦……!做游戏好难啊肥哥(;´Д`)

无标题无名氏No.62343119

2024-05-11(六)11:28:06 ID: TPWHppd (PO主)

>>No.62339903
程序的一生就是被策划牵着鼻子走゚(つд`゚)

无标题无名氏No.62343178

2024-05-11(六)11:32:34 ID: TPWHppd (PO主)

做了一晚上感觉还是有些地方不清楚,把影响对象放进属性里倒是挺合理的,毕竟影响的就是属性本身嘛,但是无论是显示属性还是设置属性都变得超麻烦|-` )

我们的数据是dbmongo的json文件,也就是说生成对象时还得按照属性一个个地生成基础的影响对象再填装……

好吧其实我就是不想改之前的代码(;´Д`)
呱!我补要看史山啊( ;`д´; )