27
27
Notice that it's very important to set the maximal number of initial cards
28
28
per stack, or else it's possible that a stack will eventually overflow.
30
If you wish to be able to effectively solve games of "Die Schlange" and
31
"Der Katzenschwanz", you should also enable the indirect stack states
32
feature. See the "Indirect Stack States" section below for more information
36
31
---------------------
38
The indirect stack states caches the stacks, and only stores pointers to
39
them inside the boards. Thus there is one copy of a particular stack present
40
in memory, which enables FCS to conserve more memory. If you are low on
41
memory you will probably want to enable this feature, but otherwise it will
42
result in a slower performance.
44
Indirect stack states are especially useful for solving boards of
45
"Der Katzenschwanz" and "Die Schlange" where the stacks can be very long.
47
To enable this feature run "./configure" with the command line argument
48
"--enable-states-type=indirect".
33
In Compact States, the contents of the card stacks are stored inside the
34
states, rather than in a central collection (where the states contain only
35
pointers). Despite its name, it actually consume more memory than Indirect
36
Stack States which is the default.
38
Compact states used to be faster than Indirect Stack States, but now it
39
seems indirect stack states is at least slightly faster even for games
40
whose stacks are not very long. If you still would wish to enable it,
41
run ./configure with the "--enable-states-type=compact" flag.
50
43
Installing under Win32
51
44
----------------------
53
46
Freecell Solver is distributed with a makefile suitable for use with
54
Microsoft Visual C++. Therefore, you can just type "nmake /f Makefile.win32"
55
to compile Freecell Solver.
47
Microsoft Visual C++. To build it using it follow the following steps:
49
1. Copy "config.h.win32" to "config.h" and "prefix.h.win32" to "prefix.h";
50
In the directory Presets/ copy presetrc.win32 to presetrc.
52
2. Optionally, edit it to set its preferences
54
3. Type "nmake /f Makefile.win32".
57
56
If you have an IDE of some sort you can take the following steps to compile
60
59
1. Open a project for Freecell Solver.
62
2. Add all the C files except "lib.c", "test_lib.c" and "test_multi.c"
61
2. Add all the C files except "test_multi_parallel.c" to the project.
65
3. Define the macro FCS_STATE_STORAGE as
66
FCS_STATE_STORAGE_INTERNAL_HASH, either in config.h or in the
67
parameters for the C compiler.
63
3. Copy the file config.h.win32 to config.h and prefix.h.win32 to prefix.h.
71
67
If you are using gcc or some other command-line compiler, you should
72
68
write the makefile based on the files "Makefile" or "Makefile.lite",
73
69
and then compile according to it.