The first project I write in any new language is usually a guess-the-number game, a die roller, or an RPN calculator, then I start collecting those and other toys and utilities into a single “main menu” program, and use that to drive me to develop my libraries, play with different algorithms. Occasionally it’s useful, mostly it’s just a pile of stuff.
The Scheme version has a couple useful things. I was mostly thinking about old BASIC games, so it’s “BasicSS” (SS being the Chez Scheme file extension, not anything more nautical or sinister).
I wrote a fairly malevolent wordsearch generator in the process of testing some file parsing, so here’s one for 20 programming languages. I can tell you that B, C, C#, and D are not in my list. I’m doubtful that anyone can find all of them, or even half.
Hangman depends on
/usr/share/dict/words, 235,886 lines on my system, which is very unfair:
# \ (o o) /
# \ --- /
# \ X /
# / \
# / \
Guesses: E, T, A, O, I, N, B, R, S
YOU LOSE! You have been hung.
The word was TEMULENCY.
Seabattle (“you sunk my…”) sucks, it just picks targets at random; teaching it some AI would help.
Hurkle, like all the early-’70s “find a monster on a grid” games, is awful, but the map display makes it a little easier to track your shots. “The Hurkle is a Happy Beast” by Theodore Sturgeon is one of his 10% good stories, but it provides only a little context.
Some of this I can release source for, some I probably shouldn’t, so it’s just a binary for now.