A collection of engaging mini-games designed to improve memory and focus skills, built with Python and Pygame.
- Objective: Choose the larger of two items (numbers or shapes)
- Skills: Quick decision making, numerical comparison
- Scoring: +10 points for correct, -5 for incorrect
- Objective: Locate the matching shape in a 3x3 grid
- Skills: Pattern recognition, visual discrimination
- Scoring: +15 points for correct, -5 for incorrect
- Objective: Remember and recall highlighted squares in a 3x4 grid
- Skills: Short-term memory, spatial awareness
- Scoring: +5 points per correct square, -2 per incorrect
- Python 3.12 or higher
pip install -r requirements.txtpython main.pyThe main menu provides easy access to all games with high score tracking:
| Action | Mouse | Keyboard |
|---|---|---|
| Select | Click | Number Keys (1–9) |
| Navigate | — | Arrow Keys |
| Confirm | Click | ENTER |
| Back to Menu | — | ESC |
- 30-second timer for each session
- Real-time score tracking
- Sound effects
- Rules accessible during gameplay
- Persistent high score storage
The Memory Recall game offers three difficulty levels:
| Difficulty | No. shapes |
|---|---|
| Easy | 3 squares |
| Medium | 5 squares |
| Hard | 7 squares |
To change difficulty, modify the difficulty variable in games/memory_grid.py ln.10
MindGym/
├── main.py # Main game loop & state management
├── screens/
│ ├── menu.py # Main menu interface
│ └── rules_modal.py # Game rules display
├── games/
│ ├── two_choice.py # Pick the Bigger game
│ ├── shape_grid.py # Find the Shape game
│ └── memory_grid.py # Memory Recall game
├── utils/
│ └── timer.py # Timer utility class
├── assets/
│ └── icon.ico # App icon
│ └── sound_success.wav # success sound
│ └── sound_fail.wav # fail sound
├── data/
│ └── highscores.json # High score storage
├── screenshots/ # Game screenshots
│ ├── main-menu.png
│ ├── pick-the-bigger.png
│ ├── find-the-shape.png
│ └── rules-screen.png
│ └── game-over-screen.png
└── requirements.txt # DependenciesBefore each game, players can review the rules and objectives:
After each session, view your score and compare with your best:
To extend the suite with new mini-games:
-
Create a new python file in the games/ directory
-
Implement required functions:
- init_game() - Initialize game state
- draw_game() - Render game visuals
- handle_game_events() - Process user input
- Update menu and rules in respective screen files
- Integrate into main game loop in main.py
def init_your_game():
"""Initialize your game state"""
pass
def draw_your_game(screen, font, game_data):
"""Draw your game to the screen"""
pass
def handle_your_game_events(event, game_data):
"""Handle events for your game"""
pass- Additional mini-games
- Multi-language support
- Mobile compatibility
We welcome contributions! Please feel free to submit pull requests for:
- New mini-games
- UI/UX improvements
- Bug fixes
- Performance optimizations
This project is licensed under the MIT License - see the LICENSE file for details.