from colored import bg, fg, attr from datetime import date from getch import getch import possible colors = [bg("white")+fg("black"), bg("dark_gray")+fg("white"),bg("light_yellow")+fg("dark_gray"),bg("green")+fg("white")] keycolors = [fg("white")+bg("black"), fg("dark_gray")+bg("black"),fg("light_yellow")+bg("black"),fg("green")+bg("black")] reset = bg("black")+fg("white") class Wordle: def check(self): word=self.curGuess.upper() if word.lower() not in possible.guesses and word.lower() not in possible.answers: return False else: turn=self.turn self.guesses[turn][1] = word processed=[] for i,letter in enumerate(word): if letter == self.answer[i]: self.guesses[turn][0][i] = 3 self.guessedKeys[letter] = 3 processed.append(letter) for i,letter in enumerate(word): if letter in self.answer and processed.count(letter)0: move("r",x) if y>0: move("d",y) def putCursorInside(guess,letter): row = guess * 4 + 1; col = 48 + letter * 6; placeCursor(col,row); put(colors[0]) def main(): cursorLocation = 0 print(reset+"\033c") screen=fg('green')+''' ████████████████████████████████████████ █▄─█▀▀▀█─▄█─▄▄─█▄─▄▄▀█▄─▄▄▀█▄─▄███▄─▄▄─█ ██─█─█─█─██─██─██─▄─▄██─██─██─██▀██─▄█▀█ ▀▀▄▄▄▀▄▄▄▀▀▄▄▄▄▀▄▄▀▄▄▀▄▄▄▄▀▀▄▄▄▄▄▀▄▄▄▄▄▀ clone by xereeto original by josh wardle'''+fg('white')+''' ---------------------------------------- Guess the WORDLE in 6 tries. Each guess must be a valid 5 letter word. Press the enter button to submit. After each guess, the color of the tiles will change to show how close your guess was to the word. ---------------------------------------- Keys: q w e r t y u i o p a s d f g h j k l z x c v b n m ---------------------------------------- Game: XXX ''' import time goHome() print(screen,end="") goHome() w = Wordle() while w.turn<6 and not w.wonGame(): turnOver = False w.curGuess="" prevchar = 0 char = 0 w.placeCursor() while not turnOver: try: char = getch().upper() except OverflowError: pass prevchar = ord(char) if char>="A" and char <="Z" and prevchar !=91: if len(w.curGuess)<5: put(char) w.curGuess+=char w.updateError() w.placeCursor() if ord(char)==127: # backspace if len(w.curGuess)>0: if len(w.curGuess)==5: put(" ") w.curGuess=w.curGuess[:-1] w.placeCursor() else: w.curGuess=w.curGuess[:-1] w.placeCursor() put(" ") move("l",1) w.updateError(); if ord(char)==10: # enter if len(w.curGuess)<5: w.updateError("Use all 5 letters!") elif w.check(): turnOver=True else: w.updateError("You have to enter a real word!") if w.wonGame(): w.updateError("You won!") else: w.updateError("You lost :(") time.sleep(2) try: main() except KeyboardInterrupt: pass finally: print("\033c"+reset+"Goodbye!")