Hi Danny (and all),
sorry for the rather late response and happy Holidays. I hope you are not
disappointed that the world did not end on the Winter Solstice, which means
this will give us some more time (hopefully not too little) to improve our
Patience-solvers and play Patience.
On Sat, 22 Dec 2012 19:26:16 -0000
"dannyjones183" <dannyjones183_at_yahoo.com> wrote:
> Hmmm. I'm going to reply to specific issues, and then append an update
> to my suggested FreeCell exchange format. An important point to remember
> is that I'm describing information about a single game over the process
> of a single solution.
OK.
>
> --- In fc-solve-discuss_at_yahoogroups.com, Shlomi Fish wrote:
> >
> > Hi Danny,
> >
> > some comments about your proposal.
> >
> > On Sun, 16 Dec 2012 21:25:09 -0000
> > "dannyjones183" dannyjones183_at_... wrote:
> >
> > > Just talking to myself about what I might use as a FreeCell exchange
> > > format. Blank lines are optional.
> > >
> > >
> > > #Begin FreeCell
> > >
> > > #Freecells 4
> >
> > Perhaps specify some other parameters such as the number of
> columns/stacks ,
> > the allowed move types / etc.
> >
>
> Okay. Updated to:
>
> #Begin FreeCell 8x4e0 // 8-columns, 4-freecells, 0-ephemeral
>
> #Identity FcPro Game #6240 // strictly informational
>
> #Option KingOnly // only kings can be moved to empty columns
> #Option NoHome // no manual moves to foundation/home cells
> #Option Relaxed // I don't recall Michael Keller's definition
> #Option ??? // accepting suggestions for other options
>
Sounds good.
> > >
> > > #Game 6240 -or-
> >
> > Well, there are other deal sets besides the Microsoft Windows deals
> (e.g: Old
> > PySol, PySolFC, etc.) and so I suggest you give a way to specify them.
> >
> > I also suggest you always give the initial layout.
> >
>
> I have dropped the #Game record and added the #Identify record. The
> initial layout is now required instead of being optional. You'll notice
> that I didn't include #Option FourCell. That's because the initial
> layout would indicate if the last four cards are dealt to the freecells
> instead of row seven of the tableau.
OK.
>
>
> > >
> > > #Begin Layout
> > > freecells: ** ** ** **
> > > foundation: *C *D *S *H
> >
> > I think doing something like Freecell Solver's
> >
> >
> > Foundations: H-0 C-0 D-0 S-0
> > >>>
> >
> > or:
> >
> >
> > Foundations: H-6 C-4 D-A S-7
> > >>>
> >
>
> I've replaced { ** } with { -- } for empty cells. I've replaced { *C *D
> *S *H } with { -C -D -S -H } in the foundation. The order doesn't matter
> since each suit is represented.
I personally don't mind "**" instead of "--", but "--" is also good.
>
> As for your suggested notation for the foundation, I find it
> unacceptable. H-6 is not used in the tableau, and I don't think the
> foundation warrants a separate designation for cards there. Here's an
> updated example:
>
> foundation: -C 3D -S 4H
>
OK, I'm not fanatical about it. You can also do "0C" instead of "-C".
>
> > would be preferable. I think it's a good idea to mark empty Freecells
> as "**"
> > or "-" or whatever instead of Freecell Solver "-p -t sam"'s empty
> space in the
> > middle, which is harder to parse.
> >
> > > tableau: column-wise -or- row-wise
> >
> > column-wise or row-wise? Which one? Is it specified in the format?
>
> I meant that either tableau: column-wise or tableau: row-wise would be
> used to define the subsequent placement of the cards in the tableau.
> Gary and I tend to use column-wise, while you tend to use row-wise.
OK. Having it either way will add some complexity to an implementation of a
parser (that will have to parse it, instead of emit it, which is
easier). But it may be a good idea.
>
> I think that Horne automoves are a defacto property of FreeCell and are
> not listed by many solvers. It would probably place an extra burden on
> most users to include them. However, if you find them to be necessary,
> then the standard can be expanded so they are designated by appending an
> { _at_ } character to the move.
OK. I think they should be possibly available for verification. PySol /
PySolFC, for example, do not do automoves unless you tell it to, and then it
will move stuff without respecting Horne's Play.
>
>
>
> #Begin FreeCell 8x4e0 // 8-columns, 4-freecells, 0-ephemeral
>
> #Identity FcPro Game #6240
>
> #Option KingOnly // only kings can be moved to empty columns
> #Option NoHome // no manual moves to foundation/home cells
> #Option Relaxed // I don't recall Michael Keller's definition
> #Option ??? // accepting suggestions for other options
>
> #Begin Layout
> freecells: -- -- -- --
> foundation: -C -D -S -H
> tableau: row-wise -or-
> tableau: column-wise
> 8S QS 9C 9H TS TH KS AD
> 8D 7H AS 2C 2S 3D 6S 3S
> JH JC JS 9D AC 5H 4H 3C
> 6C 6D 8H 7S KC 5D 4S 2H
> TC 6H 8C 5C 7D 9S QD QC
> 4D QH KH 7C 5S JD AH TD
> 4C 3H KD 2D -- -- -- --
> #End Layout
>
> #Begin Moves
> 4a 4b 1c 14 45 8d 83 2h 63 a8
> 54 13 6a c6 45 61_ 85_ 58 54_ 6c
> 61 84 a6 8a 1h d8 68 6d 45_ b6
> 2b 26 42 64 24 26 d2 27_ 46 56_
> 87 8d c8 18 12_ 1c 17 54 82 51
> b5 64_ 8b d8 78_ 75_ 85_ 8d b8 7b
> 78 7h 71 b7 46_ 81_ d8 58_ 48_ 43
> 57_ 5b
> #End Moves
>
> #Begin Layout
> freecells: 3S QH JH --
> foundation: -C 3D -S 4H
> tableau: row-wise -or-
> tableau: column-wise
> 8S QS 9C 9H TS 7C KS TD
> 7D 7H AS 2C 2S 6D QD 9S
> 6S 6C JS -- AC 5C JC 8D
> 5H 5D 8H -- KC 4D TH 7S
> 4S 4C 8C -- -- 3C -- 6H
> -- -- KH -- -- -- -- 5S
> -- -- KD -- -- -- -- --
> -- -- QC -- -- -- -- --
> -- -- JD -- -- -- -- --
> -- -- TC -- -- -- -- --
> -- -- 9D -- -- -- -- --
> #End Layout
>
> #Begin Moves
> 5d 6h 2h 6h 2h 6h 56 45
> c4 34_ 6c 16 1h 12 1h 15 43_ d1
> b1 53 8d 8h 71_ 54_ a5 17_ 1b 1a
> d1 23_ 2d b2 1b d1 72_ 6d a6 27_
> 26 c2 34_ 6a 6c a6 2a c2 8c 8h
> 3h 87 8h c8 31_ 5c 62 b5 a6 13_
> 72_ 7b 31_ 8a b7 c8 13_ 1b 27_ a1
> 5c 72_ d5 6a 43_ b6 5d 46_ c5 36_
> d4 1b 3c 3h 7h 27_ b1 4d 72_ 3b
> 3h c4 1c 31 3h c3 4c b1 6b 6h
> c4 32_ 3c
> #End Moves
>
> #End FreeCell
>
>
> In the foundation, cards { -C -D -S -H } are placeholders and have a
> rank of zero. In all other instances, { -- } represents an empty cell.
>
> For Moves, the underscore { _ } character signifies a multi-card move
> using the maximum number of cards possible. Substituting vN for the
> underscore character signifies moving only N cards. If neither of the
> aforementioned extensions occur, then a single-card move is assumed.
>
> Only Horne automoves are allowed to occur outside the moves listed.
>
>
OK, sounds good. We may be violating what Aesop described in
http://www.bartleby.com/17/1/62.html (executive summary: “PLEASE ALL,
AND YOU WILL PLEASE NONE.”) or it may be a “design by committee”, but I think
there's progress. Anyway, like I said, the aim is to create an interchange
format to convert from and to the solvers’s proprietary/custom solution formats.
Regards,
Shlomi Fish
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Interview with Ben Collins-Sussman - http://shlom.in/sussman
Chuck Norris does not code; when he sits at a computer, it just does whatever
he wants. — Kattana on Freenode’s #perl6 .
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Mon Dec 24 2012 - 12:17:05 IST