[download]
This was a game I wrote in 2006 to learn Java over the winter break before being hired by the Institute for Complex Additive Systems Analysis.
To run: Double click on run_java.bat file or bring up the command prompt and type in "java main"
Save and load games.
Automatically, and safely, moves cards to the foundation pile if possible.
Intuitive, Microsoft like, controls.
Runs on Linux.

The goal of this solitaire game is to get all the cards into the upper right hand side. One standard 52 card deck is used. Any card on the upper left area or the top card on the bottom may be moved. To move it to the upper right hand side the card has to be the same suit and the next card in the series. You can place a card on the bottom. It has to be a different color and the next number going down. The game will automatically move cards if it is absolutely safe to do so.
For example, using the above image, you can move the six of spades onto the seven of hearts. When you eventually uncover the two of diamonds you can then place it on the ace of diamonds in the upper right hand corner.
For this being my first Java program, it turned out quite well. User reception of this Freecell replacement was quite positive. People liked having Microsoft like controls on Linux. Some people find GNU Freecell annoying because you have to drag each card.
People loved the fact that you could save games on my version of Freecell. It allowed people to share games and come back to very difficult ones later.
Looking back on the game now there are some more things I learned -
Object serialization was a bad choice for saving the game. When I coded it in 2006, Java promised that my serialized objects would always be compatible in the future. Now, in 2009, I can't load any of my old saves. Saving new games and loading them works fine.
Anti aliasing the cards and getting rid of the black border would have considerably improved the graphics of the game. The application should have also resized the cards on windows resize instead of using a slider.
[top]