Learn Pickleball
A desktop rules trainer that keeps asking until you know it
A C++17 desktop application that teaches pickleball rules through eight lessons with animated court diagrams, backed by an adaptive quiz engine that resurfaces missed questions until you demonstrate mastery.
- 8 animated lessons
- Adaptive quiz engine
- RAII resource model
01
Problem
Pickleball rules are simple until the kitchen, the two-bounce rule and side-out scoring show up at once. Reading a rulebook does not stick; being quizzed on exactly what you got wrong does.
02
What I built
- Eight lessons with animated court diagrams rendered in SFML — serving, the non-volley zone, scoring, faults and more.
- An adaptive quiz engine that tracks per-question accuracy and resurfaces missed questions until the user demonstrates mastery.
- Progress persisted between sessions with exception-handled file I/O.
03
Technical decisions
- Organised as a multi-file C++17 project with STL containers and RAII resource management, so textures, fonts and windows clean themselves up.
- The quiz scheduler is a small, testable module separate from rendering.
04
Results
- A complete, installable desktop trainer with lessons, quizzes and saved progress.
- Open source on GitHub.
05
What I'd do next
- Add a spaced-repetition schedule across days, not just within a session.
- Ship prebuilt binaries for macOS and Windows.
Built with
- C++17
- SFML 3
- STL