我是一个关于任何逻辑的相对noob,但我在我的作业中有一个任务,所以这是我的问题:
我创造了一群代理人,他们都是患者……这些患者生病…
好吧,因为这是你需要的我会发布它作为答案
医学有一个名为SC的状态图表,其中使用了初始状态,第二个状态未使用,您可以通过消息从一个状态转换到另一个状态。
当患者到达病态时,需要找到一个处于状态的药剂医药,而不是能够治愈,所以你可以用以下代码找到它:
Medicine med=findFirst(main.medicines,m->m.inState(m.notUsed)); if(med!=null){//meaning that there is at least one not used medicine med.SC.fireEvent("use medicine"); send("get better",this); }
你可能需要做同样的事情,当你创建一种新的药物时,你使用相同的方法找到一个处于“生病”状态的人。 我假设您在患者代理中调用此功能,但根据您何时呼叫它可能会有所不同。