Onto the next stage of game development, developing a Hangman game.
Actually Hangman can be developed instead of a text adventure game if text adventure games are not your thing. As with a text adventure game, Hangman is very much straight programming, and nothing fancy.
The one interesting thing I did in my version of the Hangman game was to make use of the algorithm R(3.4.2) (Waterman’s “Reservoir Algorithm”) from Knuth’s “The Art of Computer Programming” (simplified version). I used it to generate my random word.
#!python def get_random_word(): # using algorithm R(3.4.2) (Waterman's "Reservoir Algorithm") # from Knuth's "The Art of Computer Programming" (simplified version) # # get random word from word file # - ignore words that are less than 3 chars with open(WORD_FILE, "r") as fp: line = next(fp) for num, aline in enumerate(fp): if len(aline) <= 2 or random.randrange(num + 2): continue line = aline return line.strip()
I grabbed a list of words from FreeBSD. This list of words is a text file with a word per line. So to select a random word I need to select a random line. With that in mind I used the above algorithm to randomly select a line from the word file, thus giving me my random word.
The rest of the program is pretty straight forward.
Source is at https://github.com/reinbach/hangman
Onto the next step…