我刚刚使用Sicstus在Prolog中创建了一个游戏。
在游戏过程中,我使用assert
和retract
来更新我使用的某些变量的值。
当游戏结束时,如果我没有reconsult
源文件,并重新运行游戏,那些变量与过去游戏的内容相同,这是有道理的。
所以我要问的是,如果存在某种内置谓词,我可以在游戏结束时调用它,以便重建源文件,建立游戏的原始数据。 (我知道这是一种懒惰的做法。)
答案 0 :(得分:0)
也许您可以从文件中删除默认事实,然后编写一个初始化断言来断言它们。然后,您可以在重新启动时收回所有它们,然后重新运行初始化程序以设置默认值
–潜伏者
这就是答案。 谢谢Lurker。