我有一个PriorityQueue<Monster> pq
,其中存储着怪物的生命值(生命值)和对其进行的治疗(恢复)。 heal
在创建Monster对象时存储healing_tracker
的值。
在驱动程序类中,healing_tracker
跟踪整个游戏对我的怪兽完成的全部治疗。例如,假设healing_tracker
的值为50,当我创建一个HP为30的新怪物时,Monster bob = new Monster (30, healing_tracker)
的bob.heal将为50。我应该再使我的Monster受到50的伤害吗,bob .heal不会更改,但是healing_tracker
更新为100。
我想对我的PriorityQueue中的Monsters进行排序的方式是按净HP的升序排列。对于怪物查理(Charlie),净资产为:charlie.health - charlie.heal + healing_tracker
。因此,我创建了一个Comparator来这样做,但我意识到我无法将healing_tracker
作为参数传递给Comparator。
是否可以使用在驱动程序类中建立的healing_tracker
来更新Comparator?