Prolog 单例值变量-域未定义

Prolog 单例值变量-域未定义,prolog,clpfd,labeling,Prolog,Clpfd,Labeling,我一直在努力做一个游戏。游戏分为9个部分,每个部分都有点。工件的每个面都有0、1或2个点 [2,2,0,0,1,0] 这是一块。这一块,像这样: 这些都是碎片。(前、右脸、bacl、右、上、下) 这是,当我运行它时,我得到了消息 [V2,V5,V7,V11,V12,V16,V17,V18,V19,V23,V26,V29,V31,V35,V41,V47,V53] - singleton variables 有什么帮助或建议吗 致以最良好的祝愿 路易斯·科斯塔 :-use_module(l

我一直在努力做一个游戏。游戏分为9个部分,每个部分都有点。工件的每个面都有0、1或2个点

[2,2,0,0,1,0] 
这是一块。这一块,像这样:

这些都是碎片。(前、右脸、bacl、右、上、下)

这是,当我运行它时,我得到了消息

[V2,V5,V7,V11,V12,V16,V17,V18,V19,V23,V26,V29,V31,V35,V41,V47,V53] - singleton variables
有什么帮助或建议吗

致以最良好的祝愿

路易斯·科斯塔

:-use_module(library(clpfd)).
dice:-

       Vars=[V1, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12,   V13,   V14, V15, V16, V17, V18,
  V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36,
  V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54],

    domain(Vars,1,9),




    table([
             [V1, V2, V3, V4, V5, V6], %%peca1
             [V7, V8, V9, V10, V11, V12], %%peca2
             [V13, V14, V15, V16, V17, V18], %%peca3
             [V19, V20, V21, V22, V23, V24], %%peca4
             [V25, V26, V27, V28, V29, V30], %%peca5
             [V31, V32, V33, V34, V35, V36], %%peca6
             [V37, V38, V39, V40, V41, V42], %%peca7
             [V43, V44, V45, V46, V47, V48], %%peca8
             [V49, V50, V51, V52, V53, V54]], %%peca9

          [[2,2,0,0,1,0], %%peca1
           [2,1,0,0,1,1], %%peca2
           [2,0,0,0,1,1], %%peca3
           [2,0,0,0,0,0], %%peca4
           [1,0,0,0,1,0], %%peca5
           [1,0,0,0,0,0], %%peca6
           [1,0,0,0,0,0], %%peca7
           [0,0,0,0,1,0], %%peca8
           [0,0,0,0,0,0]]), %%peca9
    labeling([],Vars).





noDotsFace:-
    sum([V2,V19, V7, V16, V31, V26],[V5, V23, V11, V53, V47, V41, V17, V35, V29, V18, V12], 7).

这条消息总结道:这些变量在程序中只出现一次。您可以用下划线开始这些变量,以明确这是有意的(而不是打字错误),即写入
\u V2
\u V5
等。或者,您可以简单地为每个这样的变量写入
\u
。消息总结为:这些变量在您的程序中只出现一次。您可以用下划线开始这些变量,以明确这是有意的(而不是打字),即写入
\u V2
\u V5
等。或者,您可以简单地为每个此类变量写入
\u
:-use_module(library(clpfd)).
dice:-

       Vars=[V1, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12,   V13,   V14, V15, V16, V17, V18,
  V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36,
  V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54],

    domain(Vars,1,9),




    table([
             [V1, V2, V3, V4, V5, V6], %%peca1
             [V7, V8, V9, V10, V11, V12], %%peca2
             [V13, V14, V15, V16, V17, V18], %%peca3
             [V19, V20, V21, V22, V23, V24], %%peca4
             [V25, V26, V27, V28, V29, V30], %%peca5
             [V31, V32, V33, V34, V35, V36], %%peca6
             [V37, V38, V39, V40, V41, V42], %%peca7
             [V43, V44, V45, V46, V47, V48], %%peca8
             [V49, V50, V51, V52, V53, V54]], %%peca9

          [[2,2,0,0,1,0], %%peca1
           [2,1,0,0,1,1], %%peca2
           [2,0,0,0,1,1], %%peca3
           [2,0,0,0,0,0], %%peca4
           [1,0,0,0,1,0], %%peca5
           [1,0,0,0,0,0], %%peca6
           [1,0,0,0,0,0], %%peca7
           [0,0,0,0,1,0], %%peca8
           [0,0,0,0,0,0]]), %%peca9
    labeling([],Vars).





noDotsFace:-
    sum([V2,V19, V7, V16, V31, V26],[V5, V23, V11, V53, V47, V41, V17, V35, V29, V18, V12], 7).