I have just created a GitHub repository called sql_games. It contains games implemented as stored procedures, that can run on MariaDB or (with some changes) on Percona Server or Oracle MySQL.
You play the games via the command-line client. You call a procedure to make your move, then a text or an ASCII image appears.
Of course the same call should produce a different effect, depending on the game’s current state. To remember the state I use both user variables and temporary tables.
Why did I do that? Mainly because it was funny. I can’t explain why. And I can’t tell that it is funny for anyone: perhaps, where I’ve found interesting challenges, someone else would find a cause a frustration. But yes, it has been funny for me.
Also, I did it because I could. This means that others can do it. Stored procedures are not a useless and nasty feature that users should ignore – they are useful tools. Yes, several times I’ve complained that they need important improvements. But I complain because I like them.
Currently, three games are implemented:
- Anagram – The anagram game. See a randomly generated anagram and try to guess the word. You can choose a language, and a min/max word length.
- Bulls And Cows – If you don’t know the game, take a look at the Wikipedia page.
- Hangman – Try to guess letters and see an ASCII hangman materializing slowly while you fail.
Each game will be installed in a different database.
CALL help() in the proper database to see how to play.