我正在开发一个游戏项目,我在Jess有3个模块。 MAIN模块,然后是Environment模块和Movement模块。
我一直试图改变这3个模块之间的执行,但没有成功。我的想法如下:
执行MAIN模块,使用initial-fact触发规则。首先关注环境模块,然后关注运动模块
执行环境模块
执行运动模块
重复直到暂停
我一直在使用MAIN模块中的(焦点)功能(焦点环境移动),然后正确执行环境模块并转到运动模块。同样,这个也正确执行。
然后我将重点放在MAIN模块上(我还试图再次声明初始事实以试图强制启动初始规则。但是,它不起作用。)
不管我做什么,它都不会再次执行MAIN模块。
有谁能请我对此有所了解?
答案 0 :(得分:0)
对于给定的匹配,给定规则只会触发一次,无论模块焦点如何。如果您需要MAIN中的规则再次触发,则需要删除导致它们首先触发的初始条件,然后重新创建它们。这可能就像缩回(initial-fact)
然后重新声明它一样简单。缩回部分很重要!