Hi Gary, Danny, and Michael,
is there a consensus among you that what Danny and I described below can be used
as a common exchange / interchange solution format for Freecell and similar
games? If so, I would like to start coding a converter to/from it to Freecell
Solver's solutions format. But I'd like to make sure there is a consensus.
Regards,
Shlomi Fish
On Mon, 24 Dec 2012 22:17:00 +0200
Shlomi Fish <shlomif_at_shlomifish.org> wrote:
> 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/
Apple Inc. is Evil - http://www.shlomifish.org/open-source/anti/apple/
I also have versions of this code in COBOL.NET, Intercal, PDP‐10 Assembly, J,
APL, Windows NT 4.0 Batch script and Autocad Lisp — I’m sure you can handle
all of them because none of them is Perl. ;-).
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Mon Dec 31 2012 - 00:50:40 IST