Source code for literate_wordle.main

"""Entrypoint for pywordle"""


from typing import Callable

from literate_wordle.game import WordleGame, WordleMoveOutcome, play_round
from literate_wordle.words import pick_answer_word


[docs]def new_game() -> WordleGame: """Generate a new WordleGame""" return WordleGame(answer=pick_answer_word(), guess_number=1)
[docs]def play_game(game: WordleGame, guess_fetcher: Callable, response_logger: Callable): """Plays the given WordleGame until completion. Asks guess_fetcher for guess, and sends response to response_logger """ outcome = WordleMoveOutcome.GUESS_SCORED_CONTINUE # Gotta start somehow while outcome not in {WordleMoveOutcome.GAME_WON, WordleMoveOutcome.GAME_OVER_LOST}: guess = guess_fetcher() result = play_round(guess=guess, game=game) response_logger(result.message) game = result.game outcome = result.outcome