我正在为一个简单的游戏设计一个AI,我希望实现一个随机移动。但这种运动必须符合游戏规则。
使用random_between/3
可以选择随机整数,但变量绑定只发生一次。因此,如果我在绑定后检查规则,如果失败,函数将返回false
。
我想像between/3
那样用随机整数绑定一个变量:尝试一些值,如果失败,回来尝试另一个绑定。但CCD_ 4不是随机的。
有没有一种简单的方法可以达到这个或类似的结果?(在SWI Prolog上)
也许你可以写这样的东西:
?- repeat, random_between(1, 10, X).
X = 6 ;
X = 2 ;
X = 9 ;
X = 5 ;
...
只要确保在你找到一个令人满意的答案后,你就切中了选择点。