Prologの宿題片付けます
■ このスレッドは過去ログ倉庫に格納されています
0236デフォルトの名無しさん
2011/08/03(水) 12:33:35.25shuffle(_カードの束,_切られたカードの束) :- shuffle([_,_,_,_,_],_カードの束,_切られたカードの束).
shuffle([],_カードの束,_カードの束) :- !.
shuffle([_|Ln],_カードの束,_切られたカードの束) :-
概ね分割する(_カードの束,_カードの束_1,_カードの束_2),
カードを雑に併合(1,_カードの束_1,_カードの束_2,_カードの束_3),
shuffle(Ln,_カードの束_3,_切られたカードの束).
概ね分割する(_カードの束,_カードの束_1,_カードの束_2) :-
_分割数1 is random(7) + 20,
length(_カードの束_1,_分割数1),
append(_カードの束_1,_カードの束_2,_カードの束),
カードを雑に併合(_カードの束_1,_カードの束_2,_カードの束_3),
カードを雑に併合(1,_カードの束_1,_カードの束_2,_カードの束) :-
_重なる枚数 is truncate(random(4) * 0.4 + 1),
length(L,_重なる枚数),
append(L,R1,_カードの束1),
カードを雑に併合(2,R,_カードの束_2,_カードの束_3),
append(L,_カードの束_3,_カードの束),!.
カードを雑に併合(2,_カードの束_1,_カードの束_2,_カードの束_3) :-
_重なる枚数 is truncate(random(4) * 0.4 + 1),
length(L,_重なる枚数),
append(L,R2,_カードの束2),
カードを雑に併合(1,_カードの束_1,R,_カードの束_3),
append(L,_カードの束_3,_カードの束),!.
カードを雑に併合(_,_カードの束_1,_カードの束_2,_カードの束) :-
append(_カードの束_1,_カードの束2,_カードの束),!.
■ このスレッドは過去ログ倉庫に格納されています