如何解决如何获得几个可运行对象共有的变量的最小值?
| 我正在尝试使用线程和MVC来模拟各种战斗序列。细节: 每个生物都有一个主动得分来控制谁先走。 每个生物都必须陈述其预定目标。 生物被放在“战斗”类的堆叠中;得分最低的生物首先进入堆叠。 一旦每个生物都选择了目标,堆叠便会清空,并且生物将按照其主动顺序(最高优先)进行操作。 分配约束要求我将生物作为单独的线程处理。问题是: 我不知道“战斗”类要意识到它必须处理堆栈上的动作的方法,因为不再有生物进入其中。 我认为“战斗”必须有一种方法来知道所有正在运行的线程中最低的主动得分,但是我不知道如何进行管理。 如果不能更清楚地表达我的歉意。确实令人沮丧。解决方法
在不知道此作业的确切要求的情况下,很难给出一个很好的答案,但是这里有一些想法供您参考。
Combat类需要知道何时具有所有移动,以便可以处理它们。每个生物每回合需要进行一次战斗移动,或者如果发出信号表示不会进行战斗或类似操作,则有某种方式。没有这些信息,您将不知道何时处理移动。
按计划顺序处理移动是有意义的,但是您是否需要将它们按顺序放入堆栈中。添加所有动作,然后排序或使用优先级队列似乎是更好的解决方案。如果要求格斗班只接受一定顺序的动作,那么是的,它将需要知道最低分数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。