- Installation and usage instructions - Feature overview - PDF export guide - Technical details and specifications 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
96 lines
2.5 KiB
Markdown
96 lines
2.5 KiB
Markdown
# Word Search Generator & Player
|
|
|
|
A Python GUI application for generating and playing interactive word search puzzles with PDF export capability.
|
|
|
|
## Features
|
|
|
|
- **Interactive Puzzle Generation**: Create custom word search puzzles with configurable grid dimensions (5-25 x 5-25)
|
|
- **Drag-to-Select Gameplay**: Click and drag across letters to find words
|
|
- **Visual Feedback**:
|
|
- Blue highlighting for selected letters
|
|
- Green highlighting for found words
|
|
- Strikethrough on found words in the word list
|
|
- **PDF Export**: Export puzzles to PDF format for printing
|
|
- **Smart Word Placement**:
|
|
- 8-directional word placement (horizontal, vertical, and diagonal in all directions)
|
|
- Words can appear forwards or backwards
|
|
- Duplicate word prevention
|
|
- **Auto-Resizing Window**: Automatically adjusts to fit the generated puzzle
|
|
- **Clean PDF Output**: Grid lines removed for a professional appearance
|
|
|
|
## Requirements
|
|
|
|
- Python 3.x
|
|
- tkinter (usually included with Python)
|
|
- reportlab
|
|
|
|
## Installation
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://git.firebugit.com/ksmith/WordSearch.git
|
|
cd WordSearch
|
|
```
|
|
|
|
2. Install required dependencies:
|
|
```bash
|
|
pip install reportlab
|
|
```
|
|
|
|
## Usage
|
|
|
|
Run the application:
|
|
```bash
|
|
python word_search_generator.py
|
|
```
|
|
|
|
### Creating a Puzzle
|
|
|
|
1. Enter the desired grid dimensions (Width and Height)
|
|
2. Enter words to include in the puzzle (one per line)
|
|
3. Click "Generate & Play" to create the puzzle
|
|
|
|
### Playing the Game
|
|
|
|
1. Click and drag across letters to select a word
|
|
2. Release to check if the selection matches a word
|
|
3. Found words turn green and are crossed off the list
|
|
4. Use "Clear Selection" to reset your current selection
|
|
|
|
### Exporting to PDF
|
|
|
|
1. Generate a puzzle
|
|
2. Click "Export to PDF"
|
|
3. Choose a location to save the file
|
|
|
|
## How Words Are Placed
|
|
|
|
- Words can appear in 8 directions:
|
|
- Horizontal (left-to-right or right-to-left)
|
|
- Vertical (top-to-bottom or bottom-to-top)
|
|
- Diagonal (all 4 diagonal directions)
|
|
- Words are placed randomly without duplicates
|
|
- Empty cells are filled with random letters
|
|
|
|
## Default Settings
|
|
|
|
- Default grid size: 12x12
|
|
- Default words: PYTHON, GUI, WORDSEARCH, GAME, PUZZLE, FUN
|
|
- Cell size: 30 pixels
|
|
- Grid dimensions: 5-25 (minimum-maximum)
|
|
|
|
## Technical Details
|
|
|
|
- Built with Python tkinter for the GUI
|
|
- Canvas-based interactive grid for responsive drag selection
|
|
- ReportLab for PDF generation
|
|
- Event-driven architecture for mouse interactions
|
|
|
|
## License
|
|
|
|
Created by Keith Smith
|
|
|
|
## Contributing
|
|
|
|
This is a personal project. For issues or suggestions, please contact the repository owner.
|