Deal cards for FreeCell: Difference between revisions

Content added Content deleted
(Incomplete task.)
 
(Save the page again.)
Line 1: Line 1:
{{draft task}}
{{draft task}}
''Free Cell'' is the solitaire card game that Paul Alfille introduced to the PLATO system in 1978. Jim Horne, at Microsoft, changed the name to ''FreeCell'' and reimplemented the game for [[DOS]], then [[Windows]]. This version introduced 32000 numbered deals. As the game became popular, Jim Horne disclosed the algorithm, and other implementations of FreeCell began to reproduce the Microsoft deals.
''Free Cell'' is the solitaire card game that Paul Alfille introduced to the PLATO system in 1978. Jim Horne, at Microsoft, changed the name to ''FreeCell'' and reimplemented the game for [[DOS]], then [[Windows]]. This version introduced 32000 numbered deals. Later versions have 1 million deals, numbered 1 to 1000000. (The [http://www.solitairelaboratory.com/fcfaq.html Freecell FAQ] tells this history.)

As the game became popular, Jim Horne disclosed [http://www.solitairelaboratory.com/mshuffle.txt the algorithm], and other implementations of FreeCell began to reproduce the Microsoft deals. These deals are numbered from 1 to 32000.


The algorithm uses this [[linear congruential generator]] from Microsoft C:
The algorithm uses this [[linear congruential generator]] from Microsoft C:
Line 11: Line 13:
The algorithm follows:
The algorithm follows:


# Seed the RNG with a number from 1 to 1000000. (Some implementations allow numbers outside of this range.)
# Seed the RNG with the number of the deal.
# Put all 52 cards in order: Ace of Clubs, Ace of Diamonds, Ace of Hearts, Ace of Spades, 2 of Clubs, 2 of Diamonds, and so on through the ranks: Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King.
# Create an [[array]] of 52 cards: Ace of Clubs, Ace of Diamonds, Ace of Hearts, Ace of Spades, 2 of Clubs, 2 of Diamonds, and so on through the ranks: Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King. The array indexes are 0 to 51, with Ace of Clubs at 0, and King of Spades at 51.
# Perform a shuffle ''(MISSING instructions)''
# (Insert algorithm here.)
# Deal all 52 cards, face up, across 8 columns. The first 8 cards go in 8 columns, the next 8 cards go on the first 8 cards, and so on.


<pre style="display: inline-block;"> 1 2 3 4 5 6 7 8
Deals can be checked against [http://freecellgamesolutions.com/ FreeCell solutions to 1000000 games]. (Summon a video solution, and it displays the deal.)
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52</pre>


Deals can be checked against [http://freecellgamesolutions.com/ FreeCell solutions to 1000000 games]. (Summon a video solution, and it displays the initial deal.)
[http://www.solitairelaboratory.com/fcfaq.html Freecell FAQ]