⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magic4.pl

📁 PRl教学程序 PRl教学程序 PRl教学程序
💻 PL
字号:
/********************************************************************
    Constraint-based Graphical Programming in B-Prolog
    %
    4*4 magic square puzzle
*********************************************************************/
go:-
    Vars=[X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16],
    vars_constraints(Vars),
    %
    Bs=[B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16],
    createButtons(Bs,Vars),
    cgSame(Bs,fontSize,20), cgSame(Bs,fontStyle,'BOLD'),
    cgGrid([[B1,B2,B3,B4],
	    [B5,B6,B7,B8],
	    [B9,B10,B11,B12],
	    [B13,B14,B15,B16]]),
    %
    cgStartRecord(magic4),
    cgShow(Bs),
    cgStopRecord.


createButtons([],_).
createButtons([B|Bs],[T|Ts]):-
    cgButton(B), B^text #= T,
    createButtons(Bs,Ts).
    
vars_constraints(Vars):-
    Vars=[X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16],
    Vars in 1..16,
    alldifferent(Vars),
    %
    X1+X2+X3+X4#=34,
    X5+X6+X7+X8#=34,
    X9+X10+X11+X12#=34,
    X13+X14+X15+X16#=34,
    %
    X1+X5+X9+X13#=34,
    X2+X6+X10+X14#=34,
    X3+X7+X11+X15#=34,
    X4+X8+X12+X16#=34,
    %
    X1+X6+X11+X16#=34,
    X4+X7+X10+X13#=34,
    %
    labeling(Vars).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -