Keith Smith 80a249edcc Add comprehensive README.md documentation
- 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>
2025-12-06 08:18:53 -07:00

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:
git clone https://git.firebugit.com/ksmith/WordSearch.git
cd WordSearch
  1. Install required dependencies:
pip install reportlab

Usage

Run the application:

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.

Description
Word search generator, player, exporter
Readme 44 MiB
2025-12-06 08:41:24 -07:00
Languages
Python 90.6%
Shell 6%
Batchfile 3.4%