Freesweep
Soon after being exposed to Unix, a shortcoming in terminal games was
evident. The lab was short on machines running or hosting X windows, and
as an avid player on minesweeper-styled games, I found it impossible to
believe that there was no variant of the game for terminals.
Fortunately, being Unix, a solution was rapidly forthcoming. I could write
it myself.
Reasonably current tar file, gzipped.
View screen shots.
History
The first version of sweep was my first independent programming venture.
Truly abysmal, I abandond the source tree when I realized that large
sections of the code were completely uninteligible. On inspection, it
was evident that it was the work of a fledgling programmer. For example,
I initially made heavy use of scanf(). At one point, someone taught me
to use fgets() and atoi() instead, and avoid buffer overruns. Rather that
rewrite the old code, I simply wrote the newer modules with fgets(), and
left the old using scanf(). About the best thing that can be said for it
is that it did run, and played quite nicely on Linux, Solaris, HP-UX,
and ULTRIX.
The spring of 1997 brought the start of a complete rewrite, which is
still under way. The current version features:
- Color on supported terminals.
- Boards can be exported as PPM images, to show progress. Here's a sample.
- Board size independent of terminal size.
- Support for boards up to an arbitrary size - currently 1024x1024
- Saving and loading of game files.
- Much better file formats with conversion from previous format.
- Another programmer - my friend Psilord
- Looping of games until explicit quit.
- Reasonable compilation and play under SysV curses.
- Customizable alerts - beep, flash, or none.
- The GNU GPL
Planned features:
- ncurses mouse support.
- Shared "best times" files.