🧩 Wordle clone lab intro

The Unison team has playing and sharing variations on Wordle as of late! We want more Wordles to do! Your first overall project is to write a command line app for others to play.

If you haven’t ever tried Wordle,give it a shot here.It’s free... for now!

For the uninitiated, the rules are simple: a player has 6 guesses to figure out a target 5 letter word. If a letter from the guess is present in the target word, but in the wrong location, that letter from the player’s guess turns yellow, if a letter is present in the word and in the right location, the letter turns green. The player wins if they are able to guess the target word in 6 guesses or less. If the player loses, the word is lost to the sands of time. ⏳😢

What this project covers

Unison fundamentals:

  • Functions, values, and tuples
  • Basic collection manipulation and translations
  • Constructing and decomposing data types
  • Using basic abilities frombase

IO operations:

  • Console interactions
  • File reading

UCM workflow:

  • Incorporating hosted library code
  • Running a program + packaging it for sharing

How should I proceed through the lab?

We've broken things up into broad sections to tackle. Theproject breakdownprovides the highest level implementation suggestions, with links to deep-dives for each component. Each component section starts with a general suggestion for what to implement and provides explanations, example videos, and references for how to accomplish various tasks. You can tackle things in your own way, or unfold the hints(),answers(🔑),and opportunities to learn more(📚)for as much structure as you need.

The stubs for the functions described in this lab can be foundon Unison share.To download them into your local codebase, issue apullcommand like this:

.> pull https://github.com/unisonweb/share.git:.unison.website.learn.labs.wordle.solutions.stubs .labs.wordle

Don't hesitate to ask questions if you have them! The #beginner-friendly channel in theUnison slackis a good place to ask.

Timeline

See the #beginner-friendly channel in theUnison slackfor more details. All of the materials in this repository are available in a fully asynchronous manner, but if you're interested in working with a bunch of friendly peers and receiving feedback on your Unison code, we hope to periodically offer a synchronous cohort experience.

Next steps

👉Head to the project breakdown for an implementation plan