Alright, I think I finally got a stable version of my program going now. I've made it so it denies unnecessary moves (12 23, or 12 31 23) and also denies freecell "swamping" (the program would waste a great deal of time evaluating the opening moves "1a 1b 8c" AND "1a 1b 8d"). Another tasty bit of code says that a column-to-column/freecell move may not break up a run. Yummy. I also threw in a fun function that redirects the "priority" of moves to be made. Before, I was going:
1. Column -> Column
2. Column -> Freecell
3. Column -> Home
4. Freecell -> Column
5. Freecell -> Home
6. Repeat
But now I have it going:
1. Column -> Column
2. Freecell -> Column
3. Freecell -> Home
4. Table -> Home
5. Table -> Freecell
But now I'm getting a lot of 'false negatives'- the program skips over a lot of semi-solutions for some reason.
Maybe I have too many move restrictions in place. If I try to analyze why each 'branch' of moves failed, I get a 4+ MB text file in seconds, not to mention 99% of the "bad" moves are simply illegal moves.
Does it seem like I have too many restrictions in place? Oops, looks like I have to tweak one. The program just broke up a 9C-8D and moved the 8 to an empty column. No-no...
Received on Fri Nov 21 2003 - 05:28:06 IST