I like to play a specific variation of Solitare that AisleRiot doesn't seem to offer. I found a Single Card Draw version of Klondike, but it limits redeals and I found a Three Card Draw that has no limits on redeals. I like to play Single Card Draw with no limits on redeals. Is this possible with AisleRiot or do I need to go find another program?

 Draw-Style  Redeal-Limit Available?
    1              3           Yes
    1            none           No   -- This is what I want
    3              3            No
    3            none          Yes
link|improve this question

Did you find an answer for this or are you still looking for help? – coversnail Apr 4 at 15:30
Still looking for something that fits the bill – Huckle Apr 4 at 22:32
feedback

1 Answer

up vote 2 down vote accepted

I bumped into the reason for this change in behaviour on a German site.

Previously you could edit the value of max-redeal near the beginning of the config file and set it to -1 for unlimited redeals (as per the comment for that line). In Ubuntu 12.04 that no longer works. The code that parses the options in the new Klondike menu item, forcefully resets the value of max-redeal.

There may be a more elegant way to do this, but the simplest way I found was to edit as root (use sudo) the file:

/usr/share/aisleriot/games/klondike.scm

Near the end of the file, look for a section like this:

(define (apply-options options)
  (set! deal-three (cadr (list-ref options 1)))
  (set! deal-one (cadr (list-ref options 2)))
  (set! no-redeal (cadr (list-ref options 3)))
  (set! max-redeal (cond (no-redeal 0)
;            (deal-one 2)
             (#t -1))))

Either delete, or comment out with a semi-colon, the second to last line.

link|improve this answer
Your answer prompted a 30 minute look into LISP and Lambda calculus. I applaud your ability to incite such vigorous research in the name of Solitaire. – Huckle May 9 at 2:43
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.