如何获得几个可运行对象共有的变量的最小值?

| 我正在尝试使用线程和MVC来模拟各种战斗序列。细节: 每个生物都有一个主动得分来控制谁先走。 每个生物都必须陈述其预定目标。 生物被放在“战斗”类的堆叠中;得分最低的生物首先进入堆叠。 一旦每个生物都选择了目标,堆叠便会清空,并且生物将按照其主动顺序(最高优先)进行操作。 分配约束要求我将生物作为单独的线程处理。问题是: 我不知道“战斗”类要意识到它必须处理堆栈上的动作的方法,因为不再有生物进入其中。 我认为“战斗”必须有一种方法来知道所有正在运行的线程中最低的主动得分,但是我不知道如何进行管理。 如果不能更清楚地表达我的歉意。确实令人沮丧。     
已邀请:
        在不知道此作业的确切要求的情况下,很难给出一个很好的答案,但是这里有一些想法供您参考。 Combat类需要知道何时具有所有移动,以便可以处理它们。每个生物每回合需要进行一次战斗移动,或者如果发出信号表示不会进行战斗或类似操作,则有某种方式。没有这些信息,您将不知道何时处理移动。 按计划顺序处理移动是有意义的,但是您是否需要将它们按顺序放入堆栈中。添加所有动作,然后排序或使用优先级队列似乎是更好的解决方案。如果要求格斗班只接受一定顺序的动作,那么是的,它将需要知道最低分数。     

要回复问题请先登录注册