用prolog解填字游戏

系统 1469 0
一道常见的填字游戏题目,题目如下:
用prolog解填字游戏
在上面的白色方框内填入适合的单词,可供选择的单词有:dog,run,top,five,four,lost,mess,unit,baker,forum,green,super, prolog, vanish, wonder,yellow。

遵照prolog的原则,只要描述清楚整个问题就可以了,不需要去描述怎么解决问题。试着写了如下代码:
    
word(d,o,g). word(r,u,n).
word(t,o,p). word(f,i,v,e).
word(f,o,u,r). word(l,o,s,t).
word(m,e,s,s). word(u,n,i,t).
word(b,a,k,e,r). word(f,o,r,u,m).
word(g,r,e,e,n). word(s,u,p,e,r).
word(p,r,o,l,o,g). word(v,a,n,i,s,h).
word(w,o,n,d,e,r). word(y,e,l,l,o,w).
query:-
    word(L1,L2,L3,L4,L5),
    word(L9,L10,L11,L12,L13,L14),
    word(L1,L6,L9,L15),
    word(L3,L7,L11),
    word(L5,L8,L13,L16),
    writef('word1 is : %w%w%w%w%w\n', [L1, L2, L3, L4, L5]),
    writef('word2 is : %w%w%w%w%w%w\n', [L9,L10,L11,L12,L13,L14]),
    writef('word3 is : %w%w%w%w\n', [L1,L6,L9,L15]),
    writef('word4 is : %w%w%w\n', [L3,L7,L11]),
    writef('word5 is : %w%w%w%w\n', [L5,L8,L13,L16]). 

  

把代码保存为test.pl文件,命令行键入swipl打开swi-prolog的repl。然后加载test.pl文件,加载完毕后键入query. 神奇的答案就出来啦~~~。如图:
用prolog解填字游戏

用prolog解填字游戏


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论