30 lines
831 B
Python
30 lines
831 B
Python
"""Main module."""
|
|
import time
|
|
from vial_game import Game
|
|
from vial_solver import solve_game, format_instructions
|
|
|
|
|
|
def main():
|
|
"""The main method for the vial solver."""
|
|
colors = [(75, "c"), (215, "o"), (130, "b"), (245, "g"), (226, "y"),
|
|
(77, "l"), (90, "u"), (70, "m"), (198, "i"), (20, "e"),
|
|
(160, "r"), (22, "d")]
|
|
for color, letter in colors:
|
|
print(f" \033[38;5;{color}m⚫\033[39m = {letter} |", end="")
|
|
print("\b")
|
|
try:
|
|
vial_string = input()
|
|
except KeyboardInterrupt:
|
|
print()
|
|
return
|
|
game = Game(vial_string)
|
|
print(game)
|
|
|
|
start = time.time()
|
|
solution = solve_game(game)
|
|
print(f"\rFound solution with {len(solution)} steps. {' '*20}")
|
|
print(format_instructions(solution, start))
|
|
|
|
if __name__ == "__main__":
|
|
main()
|