Three difficulty levels
Easy, medium, and hard lists let the player choose a vocabulary range instead of playing one fixed daily word.
A five-letter word guessing game with three difficulty levels, unlimited play, stats tracking, daily streaks, and no account requirement.
01 · Goal
Wordleish keeps the basic six-guess loop, but removes the daily limit and adds difficulty levels, stats, streaks, hints, and replay. It is meant to be small, fast, and usable on desktop or mobile.
The implementation was also a Vue exercise: component state, local persistence, modal flows, and pure game logic that can be tested outside the UI.
Game behavior
Easy, medium, and hard lists let the player choose a vocabulary range instead of playing one fixed daily word.
Solved words are tracked per difficulty, and the game cycles through a full list before repeating.
Local stats include games, wins, losses, average guesses, fastest win, current streak, and best streak.
A result summary copies to the clipboard using the familiar emoji-grid pattern without spoiling the word.
One hint per game reveals a correct letter in the current row, locks that tile, and records the help in history.
Everything runs client-side with local browser storage. There is no login, backend, or remote profile state.
02 · Algorithm
The scoring pass marks exact matches first, then consumes the remaining target-letter pool for
present letters. That avoids over-counting duplicate letters in guesses like EERIE
against targets with fewer available E characters.
The algorithm lives in a standalone module, so it can be tested without mounting Vue components. Storage and word-list selection follow the same pattern.
03 · Word lists
| Difficulty | Words | Description |
|---|---|---|
| Easy | 31 | Common, familiar words with simple vowel patterns. |
| Medium | 49 | Standard Wordle-style vocabulary. |
| Hard | 24 | Less common or more complex vocabulary. |
04 · Architecture
| File | Role |
|---|---|
App.vue |
Root layout, menu/game toggle, header, and footer. |
GameBoard.vue |
Grid, keyboard, guess submission, timers, and play state. |
gameLogic.js |
Pure two-pass guess-status algorithm. |
gameStorage.js |
History, stats, streaks, and solved-word persistence. |
words.js |
Word lists, difficulty management, and random draws. |
VictoryModal.vue |
Win result, stats, share button, and confetti. |
Related
A browser block-stacking game with SRS rotation, 7-bag randomization, and touch controls.
Keep exploring