Skip to content

Instantly share code, notes, and snippets.

@jkutner
Created December 6, 2010 02:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jkutner/729758 to your computer and use it in GitHub Desktop.
Save jkutner/729758 to your computer and use it in GitHub Desktop.
play(0, _, Deck, Deck) :- !.
play(_, 0, Deck, Deck) :- !.
% take a duchy
play(DukesRemaining, DuchiesRemaining, Deck, FinishedDeck) :-
X is DuchiesRemaining-1,
append([duchy], Deck, NewDeck),
play(DukesRemaining, X, NewDeck, FinishedDeck).
% take a duke
play(DukesRemaining, DuchiesRemaining, Deck, FinishedDeck) :-
X is DukesRemaining-1,
append([duke], Deck, NewDeck),
play(X, DuchiesRemaining, NewDeck, FinishedDeck).
play(DukesRemaining, DuchiesRemaining, Deck) :-
play(DukesRemaining, DuchiesRemaining, [], Deck).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment