Examples of a Standard FreeCell Exchange Format.
I hope this character set and format come through OK ... -Gary Campbell
First, the solution exactly as output by the current version of my solver. This solution involves 5544 iterations and 300 backups.
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
GAME #6240 is solved as follows:
5a 5b 5c 8d 83 63 48 52 53 c5
75 21 2c 24 a4 2a 25 d5 65 6d
76 74 72 d2 84 8d c7 68 6h 6c
18 16 1h 2h ah bh 6a 82 36 3b
38 35 37 c7 2h a2 37 45 4a 4c
46 1a 12
Next, examples of my proposed standard (following Danny Jones' examples of Shlomi Fish's solver's solutions):
GAME #6240
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
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 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 Solved
GAME #6240
3S-QH-JH- +4H 3D
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
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[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 Solved
GAME #6240
- - - +KH KD KC KS
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 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[**]
Finally, an appendix:
==============================
Standard Freecell Notation (an edited version of email:Gary 12/08/12)
————————————
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 a Game# line and/or a freecell+home line, 0 to 18 column lines, and 0 or more solution lines. Extra leading spaces are optional; trailing spaces are ignored.
3. If the Column lines depict a fresh deal of the cards, the freecell+home line may be missing or empty.
4. A Standard Deck of 52 cards is assumed. 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 the 1st sequence of digits (with an optional leading "-" sign) is defined as the Game#. 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 signed # 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 (minus 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 column section is 0-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. A zero line column section occurs near the end of a solution when all cards are in the home cells or freecells.
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 D H S}. Embedded spaces must be present; trailing spaces are optional.
10. The Solution Section:
a. Optional comment lines may preceed the first solution line (a comment line may not have the same syntax as the first 3 characters of either a column line (3 spaces or a card) or a solution line (spaces or a period followed by a move).
b. A solution line must begin with one or more spaces or a . (period) followed by a valid move.
c. If it does, it must have the (first or next) explicit (non-automove) move of the solution. A move is 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 is the most common. If the cycle of 3 characters per move is broken (fails to parse) the rest of the line is ignored from that point on (as 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 replacing the characters around the next move to be made with [ ], 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, a tag, or filename that defines the layout, is referenced in place of the Game#.
13 If a freecell player uses a different algorithm for any of the following, the given remedy applies:
a. 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 the freecell+home line, and the initial layout.
b. 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.
c. A different Automove: Use Horne Automoves and make all other moves explict.
Received on Mon Dec 17 2012 - 09:54:16 IST