Random Prolog在区间内连续绑定

Random Prolog在区间内连续绑定,random,prolog,Random,Prolog,我正在为一个简单的游戏设计一个AI,我希望实现一个随机运动。但这一运动必须符合游戏规则 可以使用/3之间的random\u选择随机整数,但变量绑定只发生一次。因此,如果我在绑定后检查规则,如果失败,函数将返回false 我想用一个随机整数绑定一个变量,比如between/3does:尝试一些值,如果失败,返回并尝试另一个绑定。但是/3之间的不是随机的 有没有一个简单的方法来达到这个或类似的结果?(在SWI Prolog上)也许你可以写一些类似于: ?- repeat, random_betwee

我正在为一个简单的游戏设计一个AI,我希望实现一个随机运动。但这一运动必须符合游戏规则

可以使用/3之间的
random\u选择随机整数,但变量绑定只发生一次。因此,如果我在绑定后检查规则,如果失败,函数将返回
false

我想用一个随机整数绑定一个变量,比如
between/3
does:尝试一些值,如果失败,返回并尝试另一个绑定。但是/3之间的
不是随机的


有没有一个简单的方法来达到这个或类似的结果?(在SWI Prolog上)

也许你可以写一些类似于:

?- repeat, random_between(1, 10, X).
X = 6 ;
X = 2 ;
X = 9 ;
X = 5 ;
...

只要确保在找到满意的答案后切掉选择点。

@lower
random\u between/3
from SWI只成功一次。“需要像保罗这样的建议。”谢尔盖德姆琴科:“啊,好吧,我错了。