.config
data
venv (deactivated)
wordle
main.py
VENV.md
Packager files
.pythonlibs
poetry.lock
pyproject.toml
Config files
.replit
from wordle.evaluators.evaluator import WordleEvaluator
from wordle.solvers.solver import WordleSolver
from wordle.logging._logging import logger
from colored import stylize
import colored
import art
if __name__ == "__main__":
logo = art.text2art("Entropy Solver")
print(stylize(logo, colored.fg("cyan")))
lang = input("[INPUT] Language (en/fr): ").replace(" ", "")
if lang == "fr":
solver = WordleSolver("data/words_{}.txt".format(lang), strict_syntax=True, common_words=["comme", "aussi", "faire"])
else:
solver = WordleSolver("data/words_{}.txt".format(lang), strict_syntax=True)
mode = input("[INPUT] Automatic (y/n): ")
if mode == "y":
evaluator = WordleEvaluator("data/words_{}.txt".format(lang))
solved = unsolved = 0
ans_cnt = 0
cur_solved = False
cur_word = ""
logger("[INFO] Solved: {}, Unsolved = {} ".format(solved, unsolved), "cyan")
cur_word = evaluator.get_word()
logger("[INFO] Word: " + cur_word, "green")
pred = solver.init_cbw
logger("[INFO] Prediction: " + pred, "green")
while True:
if ans_cnt > 6 or cur_solved:
ans_cnt = 0
if cur_solved:
solved += 1
logger("[INFO] Solved: " + evaluator.get_word() , "light_green")
else:
unsolved += 1
cur_solved = False
evaluator.increment()
solver.reset()
cur_word = evaluator.get_word()
logger("[INFO] Solved: {}, Unsolved = {} ".format(solved, unsolved), "cyan")
logger("[INFO] Word: " + cur_word, "green")
pred = solver.init_cbw
cur_solved, res = evaluator.evaluate(pred)
logger("[INFO] Pattern: " + res, "green")
pred, n = solver.search(res)
logger("[INFO] Prediction: {}".format(pred), "green")
ans_cnt += 1
elif mode == "n":
solver.printExample()
logger("[INFO] Commands:")
logger("[INFO] !quit - exits the solver", "red")
logger("[INFO] !reset - resets cache for new game", "red")
logger("[INFO] Recommended initial word: " + solver.init_cbw, "green")
while True:
p = input("[INPUT] Word pattern: ")
if p == "!quit":
break
if p == "!reset":
solver.reset()
continue
rec, n = solver.search(p)
logger("[INFO] {} words left. Recommended: {}".format(n, rec), "green")
else:
logger("[ERR] Choice invalid", "red")
logger("[INFO] Exiting", "red")