2014-12-02 70 views
1

正如問題所述,這就是我想在序言中模擬的那種。所以我做一個遊戲,這裏的一些代碼:Prolog if-elseif-else

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非常陌生,幾乎完全無能爲力。

回答