Kirk Trombley 5 жил өмнө
parent
commit
aad3dfeed0
1 өөрчлөгдсөн 8 нэмэгдсэн , 22 устгасан
  1. 8 22
      src/plugins/hangguy.py

+ 8 - 22
src/plugins/hangguy.py

@@ -201,25 +201,21 @@ class DeadGuy(ModelBase):
         )
 
 
-def guess_letter(game_state, letter):
-    """
-    Guess a letter in a given game state. Assumes letter is already
-    a single, uppercased, alpha character.
-
-    Returns number of appearances of the letter, or -1 if it was
-    already guessed.
-    """
+def guess_letter(game_state, guy_state, letter):
+    if not letter.isalpha():
+        return "You should try sticking to letters!"
 
     if letter in game_state.bad_guesses or letter in game_state.state:
-        return -1
+        return f"You've already guessed '{letter}'!"
 
     find = [i for i, x in enumerate(game_state.target) if x == letter]
     if len(find) == 0:
         game_state.bad_guesses = game_state.bad_guesses + letter
-        return 0
+        guy_state.state = guy_state.state + 1
+        return "Bad guess!"
 
     game_state.state = "".join(letter if i in find else s for i, s in enumerate(game_state.state))
-    return len(find)
+    return f"Great! '{letter}' appears {len(find)} time{'' if len(find) == 1 else 's'}!" 
 
 
 def end_guy(db, guy_state):
@@ -241,17 +237,7 @@ def render_game(game_state, guy_state):
 def handle_guess(db, guess, game_state, guy_state):
     prefix = ""
     if len(guess) == 1:
-        if guess.isalpha():
-            res = guess_letter(game_state, guess)
-            if res == -1:
-                prefix += f"You've already guessed '{guess}'!"
-            elif res == 0:
-                prefix += "Bad guess!"
-                guy_state.state = guy_state.state + 1
-            else:
-                prefix += f"Great! '{guess}' appears {res} time{'' if res == 1 else 's'}!"
-        else:
-            prefix += "You should try sticking to letters!"
+        prefix += guess_letter(game_state, guy_state, guess)
     elif game_state.target.split() == guess.split():
         prefix = "You've guessed the full phrase!"
         game_state.state = game_state.target