I know I haven't been around in a long time, and honestly, I probably will continue to be mostly absent. Work, school, and personal life have been taking top priority.
However! I am working on a game in whatever little bit of free time I can find, and I've run into a bit of a theoretical dilemma.
Some background: the game consists of an 18x13 grid of blocks, each with a letter on it. You click-and-drag to form words from contiguous blocks, and if the word you spelled is a real word, those blocks disappear and the ones above fall down on it, making new blocks to fill the top gaps. It's basically a mixture of block-breaking games and word games.
I've made a small DLL to handle the dictionary, so don't worry about that. What I do need help with is this: how do I make sure that there's always at least one word that can be formed? As of now, the letters are all randomly chosen, which clearly makes no guarantee that they'll form any words.
Keep in mind that words may be formed in any direction, as long as each letter is touching the letter before it in the grid.