首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog if-else if-else

Prolog if-else if-else
EN

Stack Overflow用户
提问于 2014-12-02 12:44:49
回答 1查看 315关注 0票数 1

正如问题所说,这就是我想用prolog模拟的东西。所以我在做一个游戏,下面是一些代码:

代码语言:javascript
复制
move(X):-
    get_char(Y)
    get_char(_),
    get_char(Z),
    not(OldLoc='Z'),
    not(NewLoc = 'Z'),
    validmove(OldLoc,NewLoc).
move(_):-
    write('Thanks for playing!'), nl.
move(X):-
    write('Invalid move!'), nl,
    write('Try Again?'), nl,
    move(X).

我想要做的是,如果第一个谓词检查在not(OldLoc='Z'),not(NewLoc = 'Z'),失败,那么转到下一个谓词移动(_),它在validmove(OldLoc,NewLoc)失败,然后转到下一个移动(X)。我对prolog非常陌生,几乎完全一无所知。

EN

回答 1

Stack Overflow用户

发布于 2014-12-02 18:15:32

If-then-else:http://www.swi-prolog.org/pldoc/doc_for?object=send_arrow/2

另一个if-then-else:http://www.swi-prolog.org/pldoc/doc_for?object=(*-%3E)/2

示例#1:

代码语言:javascript
复制
?- test = test -> print('TRUTH') ; print('FALSE').
TRUTH

示例#2:

代码语言:javascript
复制
?- test = test -> (test2 = test3 -> print('TRUTH'); print('FALSE2')); print('FALSE').
FALSE2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27242024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档