0

私は Jess に 3 つのモジュールがあるゲーム プロジェクトに取り組んでいます。メインモジュール、環境モジュール、ムーブメントモジュール。

これら 3 つのモジュール間で実行を変更しようとしましたが、成功しませんでした。私の考えは次のとおりです。

  1. MAIN モジュールを実行し、initial-fact を使用してルールを起動します。最初に環境モジュールに焦点を当て、次に運動モジュールに焦点を当てます

  2. 環境モジュールからルールを実行する

  3. 移動モジュールからルールを実行する

  4. 止まるまで繰り返す

メインモジュール(フォーカス環境移動)で(フォーカス)機能を使用してきました。その後、環境モジュールを正しく実行し、移動モジュールに移動します。繰り返しますが、これも正しく実行されます。

次に、MAIN モジュールに焦点を当てます (初期ルールを強制的に実行するために、もう一度 initial-fact をアサートしようとしましたが、うまくいきません)。

私が何をしても、それは MAIN モジュールを再び実行しません。

誰か私にこれについての洞察を教えてください。

4

1 に答える 1

0

モジュールのフォーカスに関係なく、特定のルールは特定の一致に対して 1 回だけ実行されます。MAIN のルールを再度起動する必要がある場合は、最初に起動する原因となった初期条件を削除してから、再作成する必要があります。これは、それを撤回してから再アサートするのと同じくらい簡単かもしれません(initial-fact)。引き込み部分が重要!

于 2013-03-21T13:12:19.537 に答える