0

所以我刚刚开始掌握灵活和模糊的逻辑。我想创建一个简单的聊天系统,根据你选择的对话,NPC 会改变他们说的话,但我想让它更加独特,并且它目前一直得到相同的输出。

rule mood_dialogue2
    if the_mood is hello
    then the_mood becomes 30 .

rule mood_dialogue3
    if the_mood is  'you`re an ogre?!'
    then the_mood becomes 50 .

如您所见,输入了相同的数字,因此我想将这部分随机化,例如在 30 到 49 之间的对话 2 和 50 到 100 之间的对话 3。我在一些文档中看到的内容中尝试了这个

then the_mood becomes irand(25) + 1 .

但我知道这不起作用,因为它实际上在 the_mood 中存储了`"irand(25) + 1"

谢谢你的帮助。

4

1 回答 1

0

尝试randirand

| ?- X is irand(25) + 1 .

! ----------------------------------------
! Error 50 : Function Not Defined
! Goal     : _36394 is irand(25) + 1

Aborted
| ?- X is rand(25) + 1 .
X = 13.1864792832639
于 2013-04-06T14:23:57.067 回答