Estonian Hangman Game (Poomismäng)
This is a fun and educational Hangman game written in Python using Pygame. It features long and interesting Estonian words, some with explanations to help you learn new vocabulary while playing.
Words like:
kroonilineinflatsioonisõltuvuskuu-uurijakintsakongad(= viletsad kontsakingad)
- Estonian alphabet support (
Õ,Ä,Ö,Ü) - Automatically fills in non-letter characters (like
-) - Random word selection from an external file
- Word explanations shown after guessing
- Responsive UI: resizes correctly with the window
- Classic hangman drawing as you make mistakes
- Python 3.8 or newer installed
- pygame library installed
Install pygame You can install it using pip:
- pip install pygame
Run the Game In the terminal or command prompt, navigate to the project folder and run: python Hangman.py
Make sure the following files are in the same folder:
- Hangman.py
- estonian-words.txt
- The assets/ folder (with images and fonts)
- Difficulty Levels
- Easy: Short common words
- Medium: Longer or compound words
- Hard: Rare or complex Estonian words
- Hint System
- Allow the player to press a key (e.g., H) once per game for:
- A letter reveal
- A short clue (without revealing the definition)
- Lives & Score System
- Display how many guesses are left.
- Add a score counter that increases with correct words and decreases on failure.
- Multistage Hangman Drawing
- Make the drawing more detailed (e.g., add facial expressions or animations).
- Explanation Popups
- keep enhancing it!
- Add an option like [E] to "expand explanation" and show more context or usage.
- Pronunciation Audio
- Add .mp3 files or use a TTS engine to pronounce the Estonian word when revealed.
- This is great for language learners.
- Dark Mode / Theme Toggle
- Add a key like T to toggle between light/dark mode.
- Animations or Effects
- Animate the hangman being drawn (slow fade-in or shake effect on wrong guess).
- Add background music or sound effects for win/loss.
- Timed Mode
- Add a countdown timer — guess the word before time runs out!
- Multiplayer or Challenge Mode
- Pass & play: One player types the word, the other guesses.
- Online multiplayer is possible but complex. // Split Screen, Both get same word (Dont see other player word), who quesses faster gets point
- Categories
- Group words by themes (e.g., "nature", "history", "technology", etc.)
- Let the player choose the category before starting.
- Dynamic Word Sources
- Pull words from an online API or Estonian language corpus.
- Or use separate .txt files per category.
- Track Wins/Losses
- Save stats locally (in a JSON or text file):
- Words guessed
- Accuracy
- Longest streak
- Unlock Achievements
- E.g., “Guessed a 20-letter word” or “Won 5 games in a row”
- Word Puzzle Mode
- Add a mini crosswords or “jumble” mode where the letters are shuffled.
- AI Assistant
- Suggests a likely next letter based on letter frequency (especially useful for learners).
- Online Leaderboard (Optional)
- Send stats to a lightweight Flask backend + SQLite/PostgreSQL
- Display top scores globally