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