>>215
% 一回ずつ非決定性述語仕様で切っていくには、

shuffle(_元のカードの束,_切られたカードの束) :-
    length(_元のカードの束,_カードの枚数),
    _乱数値 is random(_カードの枚数),
    length(L0,_乱数値),
    shuffle(L0,_元のカードの束,_切られたカードの束).

shuffle(L0,_元のカードの束,_切られたカードの束) :-
    append(L0,L1,_元のカードの束),
    append(L1,L0,_切られたカードの束).
shuffle(L0,_元のカードの束,_切られたカードの束) :-
    append(L0,L1,_元のカードの束),
    append(L1,L0,_切られたカードの束1),
    shuffle(_切られたカードの束1,_切られたカードの束).