step 5
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Successful in 5s

Improving the user experience
This commit is contained in:
2026-10-04 12:46:03 +08:00
parent a76df46b79
commit 16cd9d42b9
6 changed files with 222 additions and 30 deletions
+8 -2
View File
@@ -45,13 +45,19 @@ class Game:
## Letters guessed so far.
self.guesses: set[str] = set()
def guess(self, letter: str) -> bool:
def guess(self, letter: str) -> bool | None:
"""!
@brief Process a guess; a wrong guess costs a life.
@param letter A single letter.
@return True if the letter is in the word.
@return True if correct, False if wrong, None if the letter was
already guessed (nothing changes).
@throws ValueError if @p letter is not a single alphabetic character.
"""
letter = letter.lower()
if len(letter) != 1 or not letter.isalpha():
raise ValueError("Guess must be a single letter.")
if letter in self.guesses:
return None
self.guesses.add(letter)
correct = is_in_word(self.word, letter)
if not correct: