Followup by the author.
Point 3 should read:
3. If the Column lines depict a fresh deal of the cards, the freecell+home line may be missing or empty.
If a freecell player uses a different algorithm for any of the following, the given remedy applies:
1. A different game numbering system: Use the tag or filename approach. Any unsigned number must indicate a Standard Game#. Or, simply omit the game# line and begin with an empty freecell+home line, or the initial layout.
2. A different implied move length to an empty column: break down the move into a series of “atomic” moves (moves to and from freecells or “dot” moves of single cards to empty columns) as necessary.
3. A different Automove: Use Horne Automoves and make all other moves explict.
From: Gary Campbell
Sent: Saturday, December 08, 2012 9:06 AM
To: fc-solve-discuss_at_yahoogroups.com
Subject: Re: Request for Comments: spec for the new solution notation standard
I’m after what I think Danny also wants. And here is my suggestions for it. -Gary Campbell
Standard Freecell Notation
----------------------------------
This notation could be adapted to other games, but is directly intended only for common freecell players and solvers.
1. A standard fixed-width font should be used to display a layout using only plain text (ASCII) characters and line endings.
2. A layout consists of an optional Game# line and/or a freecell+home line, up to 18 column lines, and an optional solution on one or more lines.
3. If a Game# line is present, the freecell+home line must be missing or empty, and the Column lines must depict a fresh deal of the cards.
4. A Standard Deck of cards is assumed (52 cards. 4 Suits: C, D, H, S. 13 Ranks: A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K).
5. A Game# line may have commentary text, but is required to have a sequence of digits with an optional leading “-“ sign. An unsigned number indicates a standard game (defined using the original random number generator and card dealing algorithm present in the original MicroSoft FreeCell player). A standard game# is less than 2**33. A “negative” game# is used to indicate “cookie” deals, such as the -1 and -2 deals in the original FreeCell Player.
6. The freecell+home line consists of 23 character positions. Positions 1-2, 4-5, 7-8, and 10-11, are either blank or they indicate cards contained in the freecells. Additionally, a freecell position may contain the letters BB (or any other non-card) to indicate a “blocked” freecell. This notation is used to play with fewer than 4 freecells. Position 12 must contain a + character. Positions 13-14, 16-17, 19-20, and 22-23 are either blank or they indicate cards contained on the top of the home stacks, or foundations. Positions 15, 18, and 21 contain blanks or spaces.
7. Now, what do positions 3, 6, and 9 contain? Normally, they would contain - characters (- signs). However, if a solution is given that assumes WKR Automoves, these positions contain = characters, to signify that fact. Otherwise, a solution is assumed to use Horne Automoves. There are no other (standard) options for Automoves.
8. The only required part of a Standard Layout is the column section (1-18 lines). A layout must either be a fresh deal of the cards with 8 columns, the left 4 columns containing 7 cards and the right 4 containing 6, or a card layout that could conceivably result from playing from a fresh deal. This means that all 52 cards must be present exactly once in a layout (either in a home stack, a freecell, or in the column section). This is why 18 lines are sufficient to represent the deepest column possible: An original column of 7 cards with a King on top that has a proper sequence of cards played onto the King down to a Two. An Ace is not possible, since it would have been Automoved before any sequencing could have taken place.
9. The Column Section consists of 3 characters per column: Two characters for a card followed by a space. The card characters may be blank or any valid card indicator: {A 2 3 4 5 6 7 8 9 T J Q K} x {C H D S}. Embedded spaces must be present; trailing spaces are optional.
10. The Solution Section (this is the hard part, and will probably receive the most criticism).
a. Optional comment lines may preceed the first solution line.
b. A solution line must begin with either a space or a . (period).
c. If it does, it must then have the (first or next) explicit (non-automove) move of the solution given as two characters: The source of the move followed by the target of the move. Source may be an occupied freecell (a b c d) or an occupied column (1 2 3 4 5 6 7 8). Target may be an empty freecell (a b c d) or any column (1 2 3 4 5 6 7 8), or a home cell (foundation) indicated by an h. If the target is an occupied column, the move must imply a move of one or more cards that form a proper sequence with the target, and the number of cards must be less than or equal to the number of freecells plus one, times two raised to the power of the number of empty columns. This is the limit allowed by a series of single card moves given some number of freecells and empty columns. If the target is an empty column, there are two caveats: If the character in front of the move (the prefix character) is a space, the move is assumed to be the maximum number of cards allowed. If the prefix character is a . (period), the move is a single card. The second caveat is that the target column may not be counted when computing the maximum number of cards allowed.
d. A solution line may begin with any number of moves, but 10 moves per line should be the most common. If the cycle of 3 characters per move is broken (fails to parse) the rest of the line is considered to be a comment.
11. Complete solutions. The above is used to display the initial layout (a fresh deal or an intermediate layout) and all the moves needed for a solution from that position.
12. Partially played solutions. When the game# is given, the initial layout is implied. The most compact form to convey a solution would be to show the final position (which is all 4 Kings home), followed by the sequence of moves that solves the game. When the sequence of moves does not begin with the depicted layout, additional notation is requied. This will be indicated by using [ ] around the next move to be made, so that the layout depicted is the position reached from some implied beginning layout followed by the moves up to the [move]. If the [move] is after the final move, [??] may be used to indicate an undefined move. If a constructed layout or non-standard deal is to be used, instead of indicating a game number, my suggestion is to reference a tag or filename that defines the layout in place of the game#.
From: dannyjones183
Sent: Saturday, December 08, 2012 3:25 AM
To: fc-solve-discuss_at_yahoogroups.com
Subject: Re: Request for Comments: spec for the new solution notation standard
<snip>
OK, I'll remember that this is an interchange format. That said, I'm withdrawing from the discussion because all I'm after is a modest, yet unambiguous FreeCell exchange format that I can manually use to: (1) translate someone else's solution into an input file for FcPro, or (2) represent a solution from my solver.
<snip>
Regards, Danny
Received on Sat Dec 08 2012 - 10:47:20 IST