百科问答小站 logo
百科问答小站 font logo



把「今天你对我爱理不理,明天我让你高攀不起。」这句话变成现实是什么体验? 第2页

     

user avatar   huo-lian-qi 网友的相关建议: 
      

把buff机制做成一个图(graph)。

每个buff是一个节点,每个状态也是一个节点。

现在无敌状态受两种状态影响(A、C),那么A、C各有一条边指向无敌状态。

无敌状态判定时,遍历所有输入节点(也就是A、C),有一个buff生效就生效。A、C如果也有自己的状态依赖,那就进行深度遍历依次判定。

如果存在“覆盖”,比如例子中b buff覆盖a buff,那么B有一条边指向A,判定时B的优先级比A高。A取消了,B还在生效。

整个graph必须是个有向无圈图(DAG),有圈说明循环依赖,判定时会宕机(halting)。

DAG可以进行拓扑排序,排完序后就是个一维数组,每帧可以按照这个优先级进行判定,省去了深度遍历的消耗,实现更简单。

不建议手动给状态排优先级,维护起来费劲。




     

相关话题

  异地恋见面不就该男生花钱吗?是我错了吗? 
  男性有多介意女方做过手术这件事,以及术后留下的疤痕? 
  为什么越来越多的男孩子患上了「恐女症」? 
  喜欢的女生给我微信发了这张图是什么意思? 
  除夕夜,看着朋友的男朋友在这个节日里纷纷发红包给朋友,我却没有,感觉失落怎么办? 
  女朋友说努力有上进心一定能赚大钱我该怎么反驳? 
  女生喂男生吃东西是什么意思啊? 
  怎麼追比自己戀愛經驗豐富很多的姐姐? 
  关于感情中男性心理是怎么想的?这真的算作吗? 
  谈恋爱期间发现自己变得没那么爱她怎么办? 

前一个讨论
男朋友出于好心给我的茶里下止痛药,我知情后非常愤怒,请问到底是谁的问题?
下一个讨论
如何看待LexBurner被B站封号?





© 2025-02-22 - tinynew.org. All Rights Reserved.
© 2025-02-22 - tinynew.org. 保留所有权利