Wordle Game: Download and Enjoy for free

Wordle
Wordle (www.studying-engineer.com)

Introduction: Wordle Game

If you’ve been on the internet at all during the past year, chances are you’ve heard of the viral sensation that is Wordle. This simple, yet addictive word game has captivated millions of people worldwide, with its appeal transcending age and language barriers. As a professor of Computer Science at Harvard, it’s been fascinating to watch this digital phenomenon unfold, and it’s prompted me to explore the mechanics behind Wordle, and how we can leverage the power of Python to create our very own ad-free version.

The Rise of Wordle Game

Wordle has been a breath of fresh air in the world of digital games. With its simple rules and challenging gameplay, it’s not hard to see why it’s garnered such a dedicated following. You start off lightly, but with each failed attempt, your competitive streak kicks in. You lose track of time, your focus solely on the game.

Traditional word games like Scrabble and Boggle have been around for decades, but Wordle’s innovative take on the genre has set it apart. It’s a fantastic educational tool, aiding language learning for both children and non-native speakers. Yet, there’s one aspect of the game that’s less than ideal – the ads.

The Ad Dilemma

Whether you’re playing a paid or free version of Wordle, ads are an inevitable part of the experience. Some developers have created versions for PC and mobile that require a purchase, which, while not exorbitantly priced, raises the question of whether one should pay to play such a straightforward game. On the flip side, free versions typically come with the caveat of constant, intrusive ads.

So, I set out to create an alternative solution, one that leverages Python, a powerful and versatile programming language that I’ve been teaching and exploring for years.

Leveraging Python for an Ad-Free Wordle

To tackle this project, I enlisted the help of a powerful AI developed by OpenAI called ChatGPT. Through a series of prompts and interactions, we developed a Python-based version of Wordle – all in the span of a single day. The process involved creating a detailed algorithm, writing comprehensive Python code, and squashing several bugs along the way.

What’s more, I’m making all of this freely available. You can access the algorithm, the complete Python code, and the final .exe executable file. I’m also providing a text file for you to customize the list of 5-letter words. Just ensure you keep the .exe and .txt files in the same folder.

The Caveats and The Gains

Of course, this solution isn’t perfect. For one, it’s not mobile-compatible and can only be used on a PC. However, considering the skills you can gain and the ad-free experience, it’s a small price to pay.

For those keen on learning more about programming or simply wanting an unobtrusive Wordle experience, this is a valuable resource. And for the curious ones, I’ve included a link to my blog in the game’s interface, where you can find a more detailed breakdown of the development process.

So, without further ado, I present to you the algorithm I provided to ChatGPT, the completed Python code, and the final executable file with the EXE extension and the TXT file. Scroll down to the bottom of this page to access the download links.

Free Download and No Worries about Hacking: Wordle Game

In the spirit of transparency and knowledge-sharing, I’m providing all of this for free. You won’t have to endure pesky ads, and you’ll get a behind-the-scenes look at how such a game is developed. The aim here is not only to create a more user-friendly version of a beloved game but also to foster an environment of learning and exploration.

And if you’re wondering about the usage of Python, according to the PYPL Popularity of Programming Language Index, as of May 2023, Python is the most popular programming language, with a share of 31.73% among developers. Hence, the knowledge you gain here can also pave the way for more complex projects down the line.

Conclusion

Remember, every great journey begins with a single step. Whether you’re an experienced coder or a newbie, I hope this project inspires you to dive deeper into the world of programming. As you play the game, know that you’re partaking in a remarkable blend of recreation and education, something we could all use a bit more of in our lives.

To conclude, Wordle is more than just a game. It’s a testament to the power of simple ideas and the boundless possibilities of programming. And now, it’s your turn to join in on the fun – ad-free and at your own pace.

How to Play and Algorithm Provided to ChatGPT

  1. This Wordle game allows users to guess a secret 5-letter word within 6 attempts.
  2. The game interface consists of a grid with 6 rows and 5 columns, where each cell represents a letter in the guessed word.
  3. Users have to fill in all 5 letters of their guess in a row and press the ‘Submit’ button next to the row.
  4. After submitting a guess, the game will provide feedback on each letter by changing the color of the cell:
    • Gray: The letter is not in the secret word.
    • Yellow: The letter is in the secret word but not in the correct position.
    • Green: The letter is in the secret word and in the correct position.
  5. If the user guesses the secret word correctly within 6 attempts, a “Win” alert will be displayed.
  6. If the user doesn’t guess the secret word within 6 attempts, a “You lost” alert will be displayed, along with the correct word.
  7. The game has square tiles, where the height is equal to the width.
  8. Each tile can have only one uppercase alphabet letter.
  9. As users type a letter in a tile, they will automatically move to the next tile.
  10. At the end of the game, users can start a new game, quit the game, or visit a website by clicking the respective buttons provided below the grid.

Python code for Wordle game Developed by ChatGPT

import tkinter as tk
from tkinter import messagebox
import webbrowser
from random import choice

def new_game():
global secret_word
secret_word = choice(word_list)
for row in range(6):
for col in range(5):
entries[row][col].config(state=tk.NORMAL, fg="black")
entries[row][col].delete(0, tk.END)
submit_buttons[row].config(state=tk.DISABLED if row != 0 else tk.NORMAL)

def quit_game():
root.destroy()

def open_url():
webbrowser.open("https://www.studying-engineer.com", new=1)

with open("5_letter_words.txt", "r") as file:
word_list = [word.strip().upper() for word in file.readlines()]

def check_word(entry_row):
attempt_word = "".join([entries[entry_row][col].get().upper() for col in range(5)])
if not attempt_word.isalpha() or len(attempt_word) != 5:
messagebox.showerror("Invalid input", "It was not completed.")
return
used_indices = []
for col, (ch1, ch2) in enumerate(zip(attempt_word, secret_word)):
if ch1 == ch2:
entries[entry_row][col].config(fg="green")
used_indices.append(col)
else:
correct_indices = [i for i, c in enumerate(secret_word) if c == ch1 and i not in used_indices]
if correct_indices and sum([1 for idx in correct_indices if attempt_word[idx] != secret_word[idx]]) > 0:
entries[entry_row][col].config(fg="yellow")
else:
entries[entry_row][col].config(fg="gray")

def submit_word(row):
global attempt_number
check_word(row)
if all([entries[row][col].cget("fg") == "green" for col in range(5)]):
messagebox.showinfo("Congratulations", "You won!!!")
return
elif row == 5:
messagebox.showinfo("Game Over", f"You lost.\nThe correct word was {secret_word}")
else:
submit_buttons[row].config(state=tk.DISABLED)
submit_buttons[row 1].config(state=tk.NORMAL)

def submit_guess(row):
global attempt_number
check_word(row)
if all([entries[row][col].cget("fg") == "green" for col in range(5)]):
messagebox.showinfo("Congratulations", "You won!!!")
return
elif row == 5:
messagebox.showinfo("Game Over", f"You lost.\nThe correct word was {secret_word}")
else:
submit_buttons[row].config(state=tk.DISABLED)
submit_buttons[row 1].config(state=tk.NORMAL)

def validate_input(value, row, col):
if len(value) <= 1 and (value == "" or value.isalpha()):
if value:
focus_next_widget(int(row), int(col))
return True
return False

def focus_next_widget(row, col):
next_col = (col 1) % 5
next_row = row 1 if next_col == 0 else row
if next_row < 6:
entries[next_row][next_col].focus_set()

secret_word = choice(word_list)
root = tk.Tk()
root.title("Wordle: wwww.studying-engineer.com")
Wordle-studying-engineer.com.py

Free Download of Wordle Game

Note: When you unzip the file after downloading, you will find Wordle_(studying-engineer.com).exe and 5_letter_words.txt files. Both files must always be located in the same folder. If it doesn’t work or you have any problems, please leave a comment here or email me at grimeye.myw@gmail.com and I’ll send you the file.

Reference

New York Times: Wordle Game

Other Stories

Data Processing with ChatGPT and VBA
AutoCAD LISP with ChatGPT
Python code and Summary of Monte Carlo Simulations

4 Comments Add yours

Leave a Reply