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.
--- 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
> >
> > #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.
> >
> > #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.
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
> 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.
>
> > 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
> >
>
> Here it is incredibly easy to lose track of the solution. And what do
the
> underscores ("_") mean? Personally I prefer the Freecell Solver -sam
notation,
> although one problem with it is that the indices are 0-based, which is
not very
> human friendly:
>
>
> Move a card from stack 3 to the foundations
>
> Move a card from stack 6 to freecell 0
> >>>
>
> > #Begin Layout
> > freecells: 3S QH JH **
> > foundation: *C 3D *S 4H
> > tableau: column-wise -or- row-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.
>
> Ah, I see.
>
> >
> > Only Horne automoves are allowed to occur outside the moves listed.
> >
>
> I would prefer that automoves will be explicitly notated as such, due
to the
> reasons I've given in my previous E-mails.
>
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.
#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.
Received on Sat Dec 22 2012 - 11:26:20 IST