flex中的随机数

时间:2013-02-27 16:50:41

标签: win-prolog lpa-flex

所以我只是掌握弹性和模糊逻辑。我想创建一个简单的聊天系统,根据您选择的对话方式,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之间的dialog2和50和100之间的dialog3。我在一些文档中看到的东西尝试了这个

then the_mood becomes irand(25) + 1 .

但是我知道这不起作用,因为它实际上存储了“irand(25)+ 1”in themood

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试rand NOT irand

| ?- 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