1
Built by Suit/Built by Alternate Colour:
2
=============================================
4
Define a fcs_is_parent_card(child, parent) macro, accordingly, and use it
7
move_freecell_cards_on_top_of_stacks: 671.
9
Also make sure that the stuff with the foundations returning
10
PARENT_STATE_IS_NOT_SOLVEABLE is set.
15
Define a MAX_DECKS macro, and implement storage for multiple decks in
16
fcs_state_t. Then, make sure all the decks checks are made with loops.
17
(search for fcs_deck).
26
keep the algorithm as it is.
31
calc_max_sequence_move = (num_freecells+1)
33
In move_non_top_stack_cards_to_founds:
34
Check only if the freecells can be filled
36
In move_stack_card_to_parent_on_the_same_stack:
39
In move_stack_cards_to_different_stacks:
42
In move_cards_to_a_different_parent:
45
move_sequences_to_free_stacks:
48
move_freecell_cards_to_empty_stack:
51
empty_stack_into_freecells:
58
calc_max_sequence_move =
60
(((top_card==KING)&&(num_freestacks>0)) ? 1 : 0)
62
In move_non_top_stack_cards_to_founds:
63
Check only if the freecells can be filled
65
In move_stack_card_to_parent_on_the_same_stack:
68
In move_stack_cards_to_different_stacks:
71
In move_cards_to_a_different_parent:
74
move_sequences_to_free_stacks:
77
move_freecell_cards_to_empty_stack:
80
empty_stack_into_freecells:
85
(Un/)Limited Sequence Move
86
==========================
88
Unlimited sequence move:
89
------------------------
91
calc_max_sequence_move == MAX_INT