Skip to content

About

Interactive typing game with live WPM tracking, sound effects and score board. Built with Python and Tkinter.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

⚡ Speed Typing Master

Python Tkinter License

An interactive typing game to improve your typing speed and accuracy.

📋 Overview

Speed Typing Master shows you random phrases to reproduce as quickly as possible, measuring your speed in words per minute (WPM) and your accuracy.

The game uses word-by-word progression: type a word and it turns green, then the next word is highlighted automatically — smoother and more satisfying than typing against a static block of text.

✨ Features

Core

  • Precise timing — measures exact typing time
  • Scoring — words per minute (WPM) and accuracy (% of correct characters)
  • Real-time visual feedback — green when correct, red when incorrect
  • Score history — your performance is saved between sessions

Interface

Four visual themes:

Theme Style
🌙 Dark Modern dark background
☀️ Light Bright, clean interface
💚 Neon Cyberpunk look with neon green
🟤 Retro Vintage feel

Built with Tkinter, with smooth animations and centred text display.

Sound effects

  • Success sound when you complete a phrase
  • Error sound on a mistyped character
  • Keystroke sound — subtle audio feedback (optional)
  • pygame support for higher-quality audio

Game modes

Practice — one phrase at a time, detailed results after each, no time limit. Best for improving steadily.

Challenge — 60 seconds to type as many phrases as possible, with a cumulative score. Compete against your own record.

Difficulty levels

Level Content
Easy Short, simple phrases
Medium Phrases with punctuation
Hard Long, complex phrases

Languages

Phrases are available in English and French (easy and medium levels).

Leaderboard

  • Best WPM and best accuracy records
  • History of the last 50 games
  • Detailed statistics: date and time, WPM, accuracy, elapsed time, difficulty, mode and language

🚀 Installation

Requirements: Python 3.7 or newer, with Tkinter (usually bundled with Python).

pip install -r requirements.txt
python typing_game.py

For the best sound effects, install pygame:

pip install pygame numpy

The game runs without pygame, falling back to basic system sounds.

🎯 How to play

  1. Start the game — python typing_game.py
  2. Set your preferences — difficulty (Easy, Medium, Hard), language (English, French), theme (Dark, Light, Neon, Retro) and mode (Practice, Challenge)
  3. Click "Start Game" — a phrase appears
  4. Type word by word — the current word is highlighted in blue. Type it exactly: the text turns green when correct and red when incorrect. Once a word is right the field clears and the next word is highlighted automatically.
  5. See your results — after each phrase in Practice mode, or at the end of the run in Challenge mode
  6. Check the leaderboard — your best scores are saved automatically

📁 Project structure

.
├── typing_game.py          # Main game
├── sound_effects.py        # Sound effect manager
├── phrases.json            # Phrase database
├── scores.json             # Saved scores (created automatically)
├── requirements.txt        # Python dependencies
├── CHANGELOG.md            # Version history
├── LICENSE                 # MIT licence
├── run.sh                  # Launcher for macOS/Linux
└── run.bat                 # Launcher for Windows

🎨 Customising

Adding phrases

Edit phrases.json:

{
  "easy": [
    "Your easy phrase here.",
    "Another phrase."
  ],
  "medium": [
    "A medium-difficulty phrase, with punctuation."
  ],
  "hard": [
    "A long and complex phrase to test both your speed and your accuracy."
  ]
}

Adding themes

In typing_game.py, look for the setup_theme() method:

self.themes = {
    "your_theme": {
        "bg": "#background_colour",
        "fg": "#text_colour",
        "accent": "#accent_colour",
    }
}

📜 Licence

MIT — see LICENSE.


Author: Colince Tcheussieu Mendji

About

Interactive typing game with live WPM tracking, sound effects and score board. Built with Python and Tkinter.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages