1
0
Fork 0
mirror of synced 2024-06-23 08:40:41 +12:00

Corrected how guessing word was handled, added an exception in case a letter is guessed twice

This commit is contained in:
Phxntxm 2016-08-14 19:00:01 -05:00
parent 3faee2022e
commit d89c793343

View file

@ -13,20 +13,23 @@ class Game:
self.word = word
self.creator = creator
self.blanks = "".join(" " if letter == " " else "_" for letter in word)
self.failed_letters = []
self.guessed_letters = []
self.fails = 0
def guess_letter(self, letter):
self.guessed_letters.append(letter)
if letter in self.word:
self.blanks = "".join(word_letter if letter.lower() == word_letter.lower() else self.blanks[i] for i, word_letter in enumerate(self.word))
return True
else:
self.fails += 1
self.guessed_letters.append(letter)
self.failed_letters.append(letter)
return False
def guess_word(self, word):
if word.lower() == self.word.lower():
self.blanks = self.word
return True
else:
self.fails += 1
@ -49,7 +52,7 @@ class Game:
man += " |\n"
man += " ———————\n"
fmt = "```\n{}```".format(man)
fmt += "```\nGuesses: {}\nWord: {}```".format(", ".join(self.guessed_letters), " ".join(self.blanks))
fmt += "```\nGuesses: {}\nWord: {}```".format(", ".join(self.failed_letters), " ".join(self.blanks))
return fmt
class Hangman:
@ -77,6 +80,9 @@ class Hangman:
return
if len(guess) == 1:
if guess in game.guessed_letters:
await self.bot.say("That letter has already been guessed!")
return
if game.guess_letter(guess):
fmt = "That's correct!"
else: