On Fri, 14 Jan 2005 16:26:02 -0600, Evan Simpson wrote: > WEBoggle needs a new game board every three minutes. Boards take an > unpredictable (much less than 3min, but non-trivial) amount of time to > generate.
I gotta ask, why? Looking over your information about "how to play", my only guess is that you're generating all possible words that may exist in the board, at the time of board generation. But it also looks like you score once at the end (as you have to anyhow in order to cancel out words found by multiple people, according to the rules of Boggle). If both of these statements are true, the generation of all possible words is a waste of time. For each word given by a human, looking it up in the dict and verifying it is on the board at score time should be a lot faster, and not need any pre-processing. If you're generating stats about what percentage of possible words were found, that can also be done during game play without loss by handing outh the board, and *then* finding all words. You still have a threading problem, but now instead of dealing with human response times, you've got a three minute deadline which ought to be enough. (The other thing I can think of is that you are trying to verify that the board contains some minimal number of words, in which case I submit that boards with only 20-ish words is just part of the game :-) I've never sat down and really studied the Boggle dice, but I've always expected/hoped that there is at least one or two dice with all vowels; even so the odds of no vowels are small and easily algorithmically discarded. ) To be clear, I'm mostly curious what's going on, but it is possible that the fundamental problem may be algorithmic, and since I don't know what's going on it's worth checking. Also, entirely separate plug, you may be interested in my XBLinJS project: http://www.jerf.org/resources/xblinjs . (I'm expecting to release 0.2 either today or tomorrow, which will have vastly more documentation and more online examples.) It'd help pull out relevant code so that it is easily re-usable in any future gaming projects by others. -- http://mail.python.org/mailman/listinfo/python-list