我正在 SWI-Prolog 上创建一个文本冒险游戏,我想包含(某种)对话框。
到目前为止,我所拥有的是:
dialog1(1):- nl,write('blah blah'),nl
write('a: this is answer a'),nl,
write('b: this is answer b'),nl.
a:- write('respond to answer a'),nl.
b:- write('respond to answer b'),nl.
这几乎是第一个对话。现在我想创建一个类似于第一个对话框的第二个对话框。
dialog1(2):- nl,write('blah blah'),nl,
write('a: this is answer a'),nl,
write('b: this is answer b'),nl.
a:- write('respond to answer a'),nl.
b:- write('respond to answer b'),nl.
如何检查对话框是第一个还是第二个?我想这样做是因为当用户键入时a.
,我需要显示正确的答案 a。
我以为我可以使用类似的东西
a(1):- write('respond to answer a'),nl.
b(1):- write('respond to answer b'),nl.
/* and on the second dialog*/
a(2):- write('respond to answer a'),nl.
b(2):- write('respond to answer b'),nl.
但是,如果用户在对话框 2 中并键入 a(1),则会出现第一个答案。